본문 바로가기

TIL

(3)
@Valid @NotEmpty 예외처리중에 DB를 가기전에 예외처리를 해줘야하는 상황이 생각이났다. 게시글에 댓글이나 게시글을 저장하기위해서는 내용이 필수적으로 필요하다 빈값이 들어오면 DB에 접근하기전에 미리 예외를 처리해주어야하는 상황이지 않을까 생각이 들었다. @PostMapping("api/comments/{postId}") public ResponseEntity postComment(@PathVariable Long postId, @Valid @RequestBody CommentRequestDto requestDto) { CommentDto response = commentService.save(requestDto, postId); return ResponseEntity.ok(response); } Controller로 들어..
Error handler(예외처리의 경우) 게시판을 구현하면서 예외처리를 해주어야하는 부분이 있었다. 예를 들어 게시글에 댓글을 다는 경우 게시글의 ID (PK)가 존재 하지 않는경우 httpstatus만 넘어오고 message를 반환하지 않는 상황이 발생했다. ResponseEntity를 사용하여 객체를 응답의 객체를 직접 만들어 반환하여 해결하였다. controller에서 Service로 postid와 댓글을 보낸다. 그다음 Service에서 postId를 가지고 Repository에서 해당 게시글이 있는지 찾는다. 없는경우 Post post = postRepository.findById(postId).orElseThrow( ()-> { System.out.println("a"); return new NotFoundException("포스트가..
IntelliJ 환경변수 설정 스프링으로 게시판을 구현하다가 나도 모르게 application.yml파일에 나의 민감정보를 깃에 푸시해버리고 말았다... 이미 깃에 yml파일이 올라가서 깃이그노어에 뒤늦은 추가를 하였지만 깃 캐시를 삭제하지 않아 이그노어가 동작하지 않았다. git rm -r --cached . git add . git commit -m "커밋메시지" 를 해주고 나서야 깃이그노어가 동작하여 yml파일이 깃에 올라가지 않게되었다. 하지만 이미 올린 기록은 남았다.... 하지만 깃 이그노어가 동작하여 application.yml파일이 제대로 올라가지 않는 상태로 혼자 작업을 한다면 별 불편함이 없겠지만, 만약 협업을 하게된다면? yml파일의 민감정보때문에 파일자체를 공유하는데 어려움이 생길수 있다는 생각을 하게되었다. I..