목차

REST API URI 설계 원칙 (RFC-3986)

규칙올바른 예잘못된 예
슬래시(/)는 계층 관계 표현/vehicles/suv/q6
URI 마지막에 / 미포함/vehicles/suv/q6/vehicles/suv/q6/
하이픈(-)으로 가독성 향상/vehicles/suv/qseries/6
밑줄(_) 사용 금지/vehicles/suv/q6/vehicles/suv/q_series/6
소문자 사용/vehicles/suv/q6/Vehicles/SUV/Q6
파일 확장자 미포함/vehicles/suv/q6/vehicles/suv/q6.jsp
언어 의존적 확장자 미사용/vehicles/suv/q6/vehicles/suv/q6.do
구현 의존적 경로 미사용/vehicles/suv/q6/servlet/vehicles/suv/q6
세션 ID 미포함/vehicles/suv/q6/vehicles/suv/q6?session-id=abcdef
Method명 미사용/vehicles/suv/q6/vehicles/suv/q6?action=intro
명사는 복수형 사용/vehicles/suv/q6/vehicle/suv/q6
컨트롤러는 동사/동사구/vehicles/suv/q6/re-order
CRUD는 HTTP 메서드로 표현DELETE /vehicles/q7/{car-id}GET /vehicles/q7/delete/{car-id}
/vehicles/suv/q7/{car-id}/users/{user-id}/release
/vehicles/suv/q7/117/users/steve/release
# 필터링
/vehicles/suv?model=q7

# 페이지네이션
/vehicles/suv?page=0&size=10&sort=asc
https://foo.co.kr
https://api.foo.co.kr

# 개발자 포탈
https://dev-api.foo.co.kr/vehicles/suv/q6