설명하기에 앞서, RestFul에 대해 헷갈리신다면 여기 한 번 참고해주시면 될 것 같습니다!
URL 설계
- 리소스: URI는 리소스를 표현합니다. ex) 사용자를 표현하는 URI = /members.
- 컬렉션: 복수형 명사를 사용하여 리소스 컬렉션을 표현합니다. ex) /members (모든 사용자)
- 리소스 인스턴스: 특정 리소스를 표현하기 위해 식별자를 사용합니다. 예: /members/123 (ID가 123인 사용자) @PathVariable 같은 어노테이션과 함께 공부하시면 좋을 것 같아요 !
RestAPI 설계 규칙
- URI는 정보의 리소스를 표현합니다. ** 행위에 대한 표현이 아닌 리소스 표현하는데 중점을 두어야 한다, 리소스명은 동사보다는 명사를 사용한다. **
- 리소스에 대한 행위는 HTTP Method로 표현합니다.
- 슬래시 구분자(/)는 계층 관계를 나타내는데 사용합니다.
- URI 마지막 문자로 슬래시(/)를 포함하지 않습니다.
- 하이픈(-)은 URI 가독성을 높이는데 사용됩니다. **URI를 쉽게 읽고 해석하기 위해, 불가피하게 긴 URI 경로를 사용하게 된다면 하이픈을 사용해 가독성을 높일 수 있음.**
- 언더바(_)는 URI에 사용하지 않습니다.
- URI 경로에는 소문자를 사용합니다. **대소문자에 따라 다른 리소스로 인식하기 때문. **
- 파일 확장자는 URI에 포함하지 않습니다.
- 그리고 되도록이면 복수형으로 자원을 표기해주는 것이 좋습니다..! ex) members 처럼
RestAPI URI를 처음 설계할 때, 생각보다 어려웠던 기억이 있습니다. 자바를 공부하며 메서드 네이밍만 하다 보니, 행위적인 측면을 계속해서 URI에 포함했거든요...ㅜ 익히면 어렵지 않지만 생각보다 헷갈리는 규칙인 것 같습니다...!
'스프링 > 개념' 카테고리의 다른 글
Spring 예외처리 기본 원리와 어노테이션 (0) | 2024.09.09 |
---|---|
계층형 패키지 구조 vs 도메인형 패키지 구조 (0) | 2024.09.09 |
HTTP 상태 코드 정리 (0) | 2024.09.09 |
HTTP 메서드에 관해서 (0) | 2024.09.09 |
RestFul 에 관하여 (0) | 2024.09.09 |