찬우의 이것저것 Chanwoo's blog

Til 스프링부트와 aws로 혼자 구현하는 웹서비스 정리 1, 2장

@Restcontoller

  • 이전에는 method마다 @ResponseBody

@GetMapping

  • 이전에는 RequestMapping(method=RequestMethod.GET)

@RequestParam(“name”) String name

  • 외부에서 들어온 api파라미터를 받아옴

@Entity에는 setter를 만들지말자

  • 일부 멤버를 받는 생성자를 만들어보려했었는데 noargs constructor가 필요한거였다..
  • setter는 쓰지말자, 변경이 필요한경우에 해당 동작을 하는 메서드 사용하기
  •  getter, builder정도 사용

  • domain, repository는 같은패키지안에두기
  • jparepository를 상속받으면 @repository어노테이션 필요없음

게시판기능

  • 게시글 조회
  • 게시글 등록
  • 게시글 수정
  • 게시글 삭제

회원기능

  • 구글/네이버 로그인
  • 로그인한 사용자 글 작성 권한
  • 본인 작성글에 대한 관리

주요 어노테이션을 클래스와 가깝게

  • @Builder 해당 클래스에 빌더 생성 or 생성자상단에 선언시 생성자에 포함된 필드만으로 빌더생성
  • Entitiy에서 Setter는 사용하지않는다
  • Entitiy는 NoargConstructor가 필요하다. 생성자를 정의했을경우 기본생성자를 꼭 만들어주자.

@DataJpaTest는 show-sql@Tranjectional 기능을 제공하는구나? @SpringBootTest로 돌릴땐 아무런 로그가 안남는다 -> @DataJpaTest가 제공한 기능
비즈니스로직을 서비스레이어에서? 도메인레이어에서?
→ 도메인레이어에서 하자
절대로 Entitiy를 Request/Response 클래스로 사용하지 말것

  • view layer와 db layer를 철저히 분리하도록하자.

Controller 를 통합테스트할때..

  • @SpringBootTest + TestRestTemplate 사용한다.