• Entity
    • setter 사용 금지 → builder로 객체 생성
  • 객체간 변환 작업
    • org.mapstruct.mapper 사용
  • custom resultcode, responseEntity 사용
  • api 1개당 req, res 1개씩
    • post, patch, delete 요청 시 @RequestBody 사용
    • get 요청 시 @Pathvariable or @RequestParam 사용
  • Optional 사용 x
    • validator 패키지
      • validator 안에서 모든 예외처리 진행
  • Controller → Service → Repository 순으로 의존성 주입
    • Service → Service 주입 X
  • 네이밍 규칙
    • dto
      • request: Req
      • response: Res
        • List<Res> (x)
        • ResList (o)
    • entity
      • User vs UserEntity
      • 테이블명: tb_user
    • 메소드, 클래스명은 의미만 전달되면 됨