URL 명명 규칙
REST API 설계시 가장 중요시 여겨야할 항목 두가지는
- URL은 정보의 자원을 표현해야한다는점
- 한눈에 보고 알아 볼 수 있어야한다는 것
- 자원에 대한 행위는 HTTP Method(GET,POST,PUT,DELETE)로 표현한다는 점
이다.
*여기서 REST란 Representational State Transfer 의 약자이며
각 구성은
Resource ( 자원 ) = URI
Verb ( 행위 ) = HTTP Method
Representation ( 표현 )
으로
URI를 통해 자원을 표시하고 HTTP Method 를 이용하여 자원의 행위를 정하며
그 결과를 받는 것을 말한다
HTTP Method 의 대표적인 예는 GET , POST , PUT , DELETE 가 있고
CRUD에서는
조회의 GET
등록의 POST
수정의 PUT
삭제의 DELETE로 볼 수 있겠다.
본론으로 돌아가 URL 규칙을 설명해 보겠다.
1. 소문자를 사용한다
주소에서 대문자를 구문하므로 소문자를 이용하여 작성한다
Bad case
http://romenest.example.com/member/InsertBoard
Good case
http://romenest.example.com/member/insertboard
2. 언더바 대신 하이픈을 이용한다
물론 하이픈 조차도 쓰지않는경우가 좋으나 문자가 난잡할 경우 구분하기 쉽게 사용하기 위함이다.
Bad case
http://romenest.example.com/member/login_admin
Good case
http://romenest.example.com/member/login-admin
3. 마지막 구문에 슬래시 ( / ) 는 포함되면 안된다
마지막에 오는 슬래시의 경우에는 의미가 없을 뿐더러 사용자에게 혼란을 일으킬 수 있다
Bad case
http://romenest.example.com/member/login/
Good case
http://romenest.example.com/member/login
4. 파일의 확장자는 URI에 포함하지 않는다
웹상에서 점 ( . ) 은 파일명과 확장자를 구분 짓는데에 사용 되는 문자이다.
때문에 파일확장자를 URI에 포함하기 보다는 Accept header를 이용하는것이 좋다
Bad case
http://romenest.example.com/photo/sun.jpg
Good case
http://romenest.example.com/photo/sun
5. 자원의 명사를 사용하여 만든다.
가급적이면 사용하는 자원의 명사를 이용하되 , 해당 자원의 동작을 의미하는경우 예외적으로 동사를 허용한다
Bad case
http://romenest.example.com/game/playing
Good case
http://romenest.example.com/game/play
6. 행위는 포함하지않는다
행위는 URL에 작성하는것이 아닌 Method를 사용하여 전달한다
Bad case
POST http://romenest.example.com/member/delete-post/1
Good case
DELETE http://romenest.example.com/member/post/1