이번에는 도메인 테스트를 추가하였다. 원래 컨트롤러와 서비스단위에서만 테스트코드를 작성하였는데, 도메인도 추가하였다. 도메인 내에 있는 메서드를 테스트하였다. 코드가 너무 많기 때문에 가장 코드가 길고, 복잡한 Board를 주로 설명하겠다. 기존의 Board이다. Board @Entity @Getter @Builder @NoArgsConstructor(access = AccessLevel.PROTECTED) @AllArgsConstructor public class Board extends BaseEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "board_id") private Long id; @Column(..
이번에는 계층형 카테고리를 추가하였다. 예를 들어 현재 내 티스토리 블로그와 같은 모양을 생각하고 만들었다. 고민한 점은 모든 게시글이 카테고리를 가지고 있는 것이 맞을까 라는 생각이었다. 따라서 굳이 카테고리에 넣지 않아도 되도록 만들었다. 중요한 부분위주로 설명하겠다. Category @NoArgsConstructor(access = AccessLevel.PROTECTED) @Getter @Entity public class Category { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "category_id") private Long id; @Column(nullable = false) private String n..
프로젝트 소개 여태까지 여러 프로젝트를 진행했었는데, 그때마다 블로깅을 안했던 것 같다. 이유는 내가 아직 부족한 점이 많아서 좀 더 성장하고 난 이후에 블로깅을 하고 싶었다. 이번 프로젝트는 커뮤니티를 만드는 것인데, 여러가지 기능을 넣어보고 성능 최적화도 진행할 생각이다. 단순 API 개발이지만, 타 개발자와 협업한다는 생각으로 진행할 것이다. 프로젝트 설정 (java 11, Spring-Boot) Dependency 이후 추가로 JWT와 Swagger를 추가해야한다. 이번에 진행할 내용은 다음과 같다. Spring Security + JWT를 이용한 로그인 구현 response를 커스텀하여 응답을 보기 좋게 수정 Swagger 적용 예외처리 security+jwt를 활용한 로그인 구현의 경우 대부분..