-
Notifications
You must be signed in to change notification settings - Fork 16
객체 및 메서드 생성 규칙
mat edited this page Sep 18, 2022
·
1 revision
- 불가능한 경우를 제외하고는
Entity
(도메인)에 맞추어Controller
와Service
를 생성한다. ex) 엔티티명:Category
컨트롤러명:CategoryController
서비스명:CategoryService
-
Service
객체는 여러개의Repository
를 의존 할 수 있다. - 단일 Entity 집합에 대한 예외 발생은
Repository
객체에서 발생 시킨다. - 불가피하게 필요한 경우를 제외하고
Repository
에서 데이터 존재 여부 검증을 ⇒ Boolean이 필요한 경우existXXX()
를 사용하고, 존재하지 않을때 예외를 던져야할 경우validateXXX()
디폴트 메소드를 만들어 구현한다.
-
CUD
는save
,update
,delete
로 메서드 네이밍을 통일한다. -
단건에 대한
Read
의 경우에는 파라미터에 따라 네이밍을 정한다. ex) findById(final long Id) -
복수개에 대한
Read
의 경우 메서드 네임에 도메인 복수명과 파라미터에 대해서 작성한다. ex) findByMemberId(final long memberId) -
Read
를 할 때 URL이/me
로 끝나는경우 My로 시작하는 메서드 네이밍으로 작성한다. ex) url :/api/category/me
findMyCategories(final long MemberId)예외:
Member
도메인은 findMe()로 한다.
-
CUD
는 컨트롤러 메서드와 네이밍을 통일한다. -
Read
의 경우에는 파라미터에 따라 네이밍을 정한다. ex) findByIdAndMemberId(final long Id, final long memberId) - 검증에 대한 로직을
Repository
에서 처리하고 불가피하게 검증을 하는 로직이 필요한경우validate
로 시작하고 검증하려는 로직에 대해서 적는다. ex) validateExistCategory(final long Id)
- Spring Data Jpa가 지원하는 쿼리 메서드를 작성하는 네이밍 방식과 통일한다. [Spring Data Jpa 쿼리 메서드](https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods)
- 조회에 관한 메서드는
getXXX()
시작 하도록 통일한다.
- 형변환을 하는 경우
to
전치사로 시작한다. ex)toEntity
,toDto
- 외부에서 사용하는 Boolean을 반환하는 검증 메서드는
is/has/can
으로 시작한다. - 객체 내부에서 사용하는 예외를 던지는 검증은 validate로 시작한다.
-
새로운 객체를 만든 후 리턴해주는 경우
create
로 네이밍을 시작한다.