REST는 "Representational State Transfer"의 약어로, 하나의 URI는 하나의 고유한 리소스(Resource)를 대표하도록 설계된다는 개념입니다. 스마트폰과 태블릿 등 서버에 접근하는 디바이스의 종류가 다양해지고 있기에 디바이스의 종류에 상관없이 공통으로 데이터를 처리할 수 있도록 하는 방식을 REST라고 합니다.
1. 명확하게 기능을 설명하는 이름으로 작성, 대문자사용을 지양하고 소문자 사용
❌ `GET /users/writing`
❌ `GET /users/Post-Comments`
⭕ `GET /users/post-comments`
2. URL이 길어지는 경우 _ 대신 - 사용
❌ `GET /users/profile_image`
⭕ `GET /users/profile-image`
3. 후행 / 는 사용하지 않음
❌ `GET /users/`
⭕ `GET /users`
4. URL에 HTTP method가 표함되서는 안됨
❌ `get/users`
⭕ `GET /users`
5. resource는 동사가 표현되면 안됨
❌ `GET /users/show/1`
⭕ `GET /users/1`
6. 파일 확장자는 URL에 포함시키지 않음
❌ `GET /users/photo.jpg`
⭕ `GET /users/photo` (이때, payload의 포맷은 headers에 accept를 사용한다.)
7. URL사이에 연관 관계가 있는경우 /리소스/고유ID/관계있는 리소스 순으로 작성
❌ `GET /users/profile/{user_id}`
⭕ `GET /users/{user_id}/profile`
8. URL에 작성되는 영어는 복수형으로 작성
❌ `GET /product`
⭕ `GET /products` ****
9. URI는 / 구분자를 사용하여 자원의 계층 관계를 나타내는데 사용한다.
▶RESTful API 설계 예시
출처: https://congsong.tistory.com/28 [Let's develop:티스토리]
'[Spring]' 카테고리의 다른 글
[Spring] DTO, VO, Entity (0) | 2025.02.18 |
---|---|
[Spring] 스프링이란? (1) | 2025.02.11 |
댓글