Java / Spring 컨벤션
1. URL
1-1. 공통 규칙
- 소문자를 사용합니다.
- 가급적 명사를 사용합니다.
- 언더바(
_
) 대신 하이픈(-
) 사용
1-2. Restful API
- URL은 정보의 자원을 표현합니다.
- 자원에 대한 행위는 가능하면 HTTP Method(GET, POST, PUT, DELETE)로 표현합니다.
- 그 외의 액션에 대해서는
_
를 붙여 사용합니다.
액션 | 설명 |
---|---|
/_count | count 조회 |
_excel | excel 다운로드 |
_check | 검증. 확인. |
URL 규칙 /api
로 시작:
java
@RequestMapping("/api")
public class StaffResource {
@GetMapping("/user")
public ResponseEntity<User> getUser() {
...
}
}
1-3. Controller
URL 규칙 /page
로 시작합니다:
java
@RequestMapping("/page/counsel")
public class CounselController {
@GetMapping({ "", "/" })
...
}
CRUD 예시
java
@GetMapping("/counsel") // 리스트 조회
@GetMapping("/counsel/{id}") // 상세 조회
@GetMapping("/counsel/count") // 개수 조회
@GetMapping("/counsel/check") // 검증
@GetMapping("/counsel/form") // 등록 폼
@PostMapping("/counsel/add") // 등록처리
@PostMapping("/counsel/modify") // 수정 처리
@PostMapping("/counsel/remove") // 삭제 처리
팝업 URL 예시 (/pop/
)
/counsel/pop/{팝업명}
1-4. SPA Router
URL은 디렉토리 구조에 따른다:
/product/goods
/product/delivery
2. Method
2-1. Service Method
service method에 도메인명을 포함합니다:
java
boardService.saveBoard();
boardService.savePost();
boardService.saveComment();
2-2. Repository Method
repository method에는 도메인명을 생략합니다:
java
boardRepository.save();
postRepository.save();
commentRepository.save();
3. Service
INFO
서비스는 도메인별로 생성할 것인가? > 추후 다시 의논하기로 함
4. 비지니스 모듈에 web 의존성 허용
INFO
데이터 생성 레이어 논의 (데이터 처리를 서비스에서 할것인가?)