Programing

RESTful API

BUST 2018. 10. 28. 15:37

RESTful API

REST(Representational State Transfer)


Http Method

CRUD(Create, Read, Update, Delete)에 해당되는 Method
  1. GET : Read
  2. POST : Create
  3. PUT : Update
  4. DELETE : Delete


REST의 특징

  • Uniform Interface
    • HTTP 표준만 만족시기면 어떠한 기술을 사용하던 가능한 인터페이스 스타일
  • Stateless
    • 상태를 유지 않는 특성
    • 들어오는 요청만 메시지를 처리하면 되기 때문에 구현이 단순해 진다.
  • Cacheable
    • 웹 표준을 그대로 사용하기 때문에 캐시를 사용할수 있다.
  • Self-descriptiveness
    • API 메시지 자체만 보고 API가 이해가 쉽다.
  • Client-Server 구조


리소스의 표현 방법

  • GET /dogs
  • GET /dogs/1234
  • POST /dogs
  • PUT /dogs/1234
  • DELETE /dogs/1234

리소스의 관계를 표현하는 방법

  • GET /users/{userName}/dogs/{dogName}
    • /user/inho/dogs/william
      • inho에 속해있는 william이라는 개를 가지고 온다.
  • GET /users/{userName}/likes/dogs/{dogName}
    • /user/inho/likes/dogs/william
      • inho가 좋아하는 william이라는 개를 가지고 온다

에러 처리

  • 20x : 성공
  • 40x : Request Error
  • 50x : Server Error

버전 관리

  • GET /v1/dogs/1234
  • GET /v2/dogs/1234


'Programing' 카테고리의 다른 글

Cache  (0) 2018.11.20
SOLID 개발 원칙  (0) 2018.11.16
Event Sourcing  (0) 2018.10.16
Actor Model  (0) 2018.10.02
Observer Pattern  (0) 2018.09.30