티스토리 뷰

IT/Network

RESTful API 만들기

K.Nero 2016. 11. 15. 10:11

RESTful API(이하 rest)는 client, server 구조로 client가 서버의 자원을 HTTP를 사용하여 손쉽게 접근할 수 있게 해준다.

URL : Resource
HTTP Method : 자원을 어떻게 사용할 것인가(행동)
Response : 응답

Resource
- 자원은 상위에서 하위로 표현하며 명사형과 하위를 포함하는 자원일 경우 복수형을 사용한다.

- 새로운 버전을 위한 Controller로 Response 분리 또는 Reverse Proxy를 이용하여 서버를 물리적으로 분리
sub domain을 쓸 수 있다면 => GET http://api.fakehost/v1/things
sub domain을 쓸 수 없다면 => GET http://fakehost/api/v1/things

- Method와 Endpoint만 보고도 무엇을 하는 것인지 이해할 수 있어야 한다.

Http Method
- POST = Create
- GET/HEAD = Read
- PUT/PATCH = Update
- DELETE = Delete

Response

- HTTP 결과 코드를 사용한다.
200 - OK                       - All about success
201 - Created                 - Resource was created(Location Header)
204 - No Content            - Success Response without response body
3xx -                             - All about redirection
304 - Not Modified          - If-Modified-Since 에 대한 응답(Cashe)
400 - Bad Request           - All about client error
401 - Unauthorized          - Really means UNAUTHENTICATED
403 - Forbidden              - Really means UNAUTHORIZED
404 - Not Found
405 - Method Not Allowed
422 - Unprocessable Entity - Validation Error (406 is also acceptable)
500 - Server Error


- Error Response는 최대한 상세하게 표현하는게 좋으며 DEBUG 모드일 경우 Stack Trace등 디버그 정보도 출력하면 편리하다.
(code, message, 에러 설명 위치 등)

'IT > Network' 카테고리의 다른 글

HTTPS  (0) 2017.03.28
TCP keepalive  (0) 2017.02.24
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함