REST API의 규칙

2021. 5. 13. 17:20프로그래밍/web

사내 프로젝트를 진행하면서 프론트 부분을 외주사에 대행하게 되었다.

rest api 제공을 위해 학습을 진행하였다. 

학습을 위해 아래 페이지를 참고하였다.

참조 : https://dzone.com/articles/7-rules-for-rest-api-uri-design-1

 

7 Rules for REST API URI Design - DZone Integration

URIs, or Uniform Resource Identifiers, should be designed to be readable and clearly communicate the API resource model. These rules will help you succeed.

dzone.com

 

# Rule 1

URI의 마지막에 후행 슬래시 /가 와서는 안된다.

http://api.canvas.com/shapes/  (Bad)
http://api.canvas.com/shapes   (Good)

 

# Rule 2

후행 슬래시는 리소스간에 계층 관계를 표시할때 사용되어야 한다. 

http://api.canvas.com/shapes/polygons/quadrilaterals/squares

shapes > polygons > quadrilaterals > squares

 

# Rule 3

하이픈(-)은 URI의 가독성을 향상시키기 위해서 사용되어야 한다.

띄어쓰기가 들어간 문장이나, Aloe gel, chewing gum ,, 여러개의 단어로 구성된  단어의 경우 띄어쓰기 대신 하이픈(-)을 넣어서 작성한다.

 

# Rule 4

언더바는 절대로 사용하지않는다. 권장되지 않지만 꼭 필요한 경우 하이픈(-)으로 대체한다. 

 

# Rule 5

항상 소문자로 구성한다. 

 

# Rule 6

행위는 포함하지 않는다.

GET http://restapi.example.com/add-users/1 (X)
POST http://restapi.example.com/users/1 (O)

 

REST API를 설계하면서 조금 모호한 부분이 많은 것이 가장 어려웠다.

예컨대 rest api에서 쌍으로 제공되는 두 가지 정보를 동시에 반환해야 한다면? 같은 문제에서, 너무 URI 경로를 깊게 하자니, 낭비라는 생각이 들었고, 그렇다고 그냥 하나만 적자니 정보 전달이 부족하다는 생각이 들었다.