Til 스프링부트와 aws로 혼자 구현하는 웹서비스 정리 1, 2장
2022-08-21@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
사용한다.