captain-yun / fc-board-project

패스트캠퍼스 게시판 서비스 수업
0 stars 0 forks source link

게시판 API 만들기 #10

Closed captain-yun closed 10 months ago

captain-yun commented 10 months ago

Image

captain-yun commented 10 months ago

Step1. 디펜던시 추가

Step2. yml 파일에 설정 정보 추가

data.rest: base-path: /api detection-strategy: annotated

Step3. spring data rest 가 레포지토리를 감지할 수 있도록 각 레포지토리에 다음 어노테이션 추가

@RepositoryRestResource

Step4. 테스트 코드 작성

Image

=> 그러나 테스트가 실패한다. 슬라이스 테스트이기 때문에 컨트롤러를 제외한 다른 빈을 로드하지 않는다.

Step5. 테스트를 인테그레이션 테스트로 수정한다.

Image

Step6. 게시글, 댓글에 대한 테스트 코드를 작성한다. CRUD

captain-yun commented 10 months ago

검색 기능 구현을 위한 QueryDSL

https://velog.io/@minjung0/JavaSpringBoot-JPA-%EA%B2%80%EC%83%89%EA%B8%B0%EB%8A%A5-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0

  1. QueryDSL 세팅 build.gradle에 추가
  2. 검색 기능을 추가하기 위한 repository 마다 customize 메서드 추가 default void customize(QuerydslBindings bindings, QArticleComment root) { bindings.excludeUnlistedProperties(true); bindings.including(root.content, root.createdAt, root.createdBy); bindings.bind(root.content).first(StringExpression::containsIgnoreCase); bindings.bind(root.createdAt).first(DateTimeExpression::eq); bindings.bind(root.createdBy).first(StringExpression::containsIgnoreCase); }