Java, Spring/Spring Boot를 이용한 RESTful Web Services 개발
7. RESTful API 설계 가이드
app0a
2022. 8. 25. 19:41
리차드슨의 REST 성숙도
Level 0. 단순히 URI만 매핑한 정도. 상태를 URI에 같이 표현. -> 지금은 메서드로 분리
Level 1. 의미있는 URI 시작. HTTP의 적절한 메서드 매칭 아직 안함.( 모두 get 아니면 post, 반환값은 에러 또는 200OK로만 반환 ).
Level 2. 이제 메서드 추가. ( 용도와 상태 맞춰서 ) ( 같은 URI, 메서드에 따라 다른 서비스 )
Level 3. HATEOAS 적용.
# REST설계시 고려할 사항
- 최소 Level2 만큼은 써야함.
- 적절한 상태코드 응답
- URI엔 비번같은거 넣으면 안됨 -> 토큰 or Spring Security 이용.
- URI는 복수형
- /user 보다는 /users
= /user/1 보다도 /users/1
- 리소스는 명사
- 일괄된 엔드포인트 사용.( 같은 URI를 메서드로 구분 )