•
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
◦
메소드, 클래스명은 의미만 전달되면 됨