2차 프로젝트 협업 연습한다 생각하고 즐거운 코딩 해보아요. RepositoryJpaRepository 인터페이스 구현해서 사용
클래스명파스칼 표기법(PascalCase) : 첫 글자 대문자 + 이후 camelCase
BoardController, BoardService, UserRepository
BoardResponse 내부에 DTO클래스는 DTO를 끝에 ex) detailDTO테스트 클래스명 & 테스트 메서드명테스트 클래스 : 파스칼 표기법(PascalCase) + 끝에 Test
ContentRepository -> ContentRepositoryTest
테스트 메서드 : 카멜 표기법(camelCase) + 끝에 _test()
//given
//when
//then(혹은 //eye)
엔티티 테이블명&필드명
//엔티티 테이블 이름은 엔티티 클래스 이름끝에 _tb
@Table(name = "user_tb")
public class User {
//필드는 카멜 표기법(camelCase) 사용
private String userId;
private String userName;
}
메서드 명 & 함수명 동사 + 명사 ex) findAll(), findById(), deleteReply()생성자 주입클래스에 @RequiredArgsConstructor 붙이고
주입할 멤버변수에 final 붙이기엔티티에는 가능하면 Setter 빼기예를 들면 User 엔티티에 Setter를 넣어서
username을 변경하는 것이 아니라
username은 상태이므로 상태는 setter가 아닌 기능을 통해 변경.
changeName같은 메서드를 넣어놓고 이 기능을 통해 상태를 변경
//User엔티티 내부의 changeName 메서드
public void changeName(String username) {
this.username = username;
}패키지 구조A.B.C
global
-config
-interceptor
-error
-util
...
엔티티1
-Entity
-EntityController
-EntityService
-EntityRepository
-EntityResponse
-EntityRequest
엔티티2
.
.
URI 전략URI전략 계층 구조상 상위를 컬렉션으로 보고 복수단어 사용
(member -> members // order -> orders)
주소에는 camelCase를 사용하지 않으므로 필요시 하이픈 연결
(joinForm -> join-form)
• 회원 목록 조회(GET): /members
• 회원 등록(POST) : /members
• 회원 조회(GET) : /members/{id}
• 회원 수정(PUT) : /members/{id}
• 회원 삭제(DELETE) : /members/{id}
• 회원 등록 폼(GET) : /members/new
• 회원 수정 폼(GET) : /members/{id}/editShare article