Skip to content

Java / Spring 컨벤션

1. URL

1-1. 공통 규칙

  • 소문자를 사용합니다.
  • 가급적 명사를 사용합니다.
  • 언더바(_) 대신 하이픈(-) 사용

1-2. Restful API

  • URL은 정보의 자원을 표현합니다.
  • 자원에 대한 행위는 가능하면 HTTP Method(GET, POST, PUT, DELETE)로 표현합니다.
  • 그 외의 액션에 대해서는 _를 붙여 사용합니다.
액션설명
/_countcount 조회
_excelexcel 다운로드
_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

데이터 생성 레이어 논의 (데이터 처리를 서비스에서 할것인가?)