RESTFUL API 설계 가이드

code_able·2022년 11월 23일
0

HTTP METHOD 종류

  • GET
  • POST
  • PUT
  • DELETE

URL 규칙

  • 마지막에 / 를 포함하지 않는다.
good
http://api.test.com/users

bad
http://api.test.com/users/
  • _(underbar)대신 -(dash)를 사용한다
good
http://api.test.com/users/post-comment

bad
http://api.test.com/users/post_comment
  • 소문자를 사용한다
good
http://api.test.com/users/post-comment

bad
http://api.test.com/users/postComment
  • http method는 url에 포함하지 않는다
good
DELETE http://api.test.com/users/comment

bad
DELETE http://api.test.com/users/delete-comment
  • 명사를 사용하고 동사는 사용하지 않는다
good
DELETE http://api.test.com/users/activating

bad
DELETE http://api.test.com/users/activate
  • 복수형 명사를 사용해라
good
DELETE http://api.test.com/users/members

bad
DELETE http://api.test.com/users/member-list
  • url은 직관적으로 디자인 한다.

Content-Type

json을 주로 사용한다.

API 버전 관리

http://api.test.com/users/v1/member-list

페이징 디자인 하기

- Facebook : /record?offset=100&limit=25 : 100번째 부터 25개 레코드 조회
- LinkedIn : /record?start=50&count=25 : 50번째 부터 25개 레코드 조회 

Partial Response 처리하기

- Facebook : /terry/friends?fields=id,name
- Google : ?fields=title,media:group(media:thumnail)    

HTTP Response Code

  • 200 : Success
  • 400 : Bad Request
  • 401 : Unauthorized
  • 404 : Not found
  • 500 : Internal Server Error

500 에러는 보내지 않는다.

검색 디자인

/search?q=name%3Dlee : 이름이 lee인 모든 리소스를 조회

reference

profile
할수 있다! code able

0개의 댓글