JB
2 min readMay 17, 2021

REST API에 관하여
https://www.notion.so/REST-API-a855da90270e475ab9aa150ce8417d9f

REST API란?

  • REST 기반으로 서비스 API를 구현한 것
  • “Representational State Transfer”의 약자
  • HTTP URI를 통해 자원을 명시
  • HTTP Method( GET, POST, PUT, DELETE) 를 통해 해당 자원에 대한 CRUD Operation 적용

왜 REST API를 써야할까?

  • 멀티 플랫폼 (iOS, Android, Web etc.,) 에 대한 지원을 위해 서비스 자원에 대한 아키텍처가 필요
  • HTTP 프로토콜 통신을 위해 개발자들의 암묵적인 원칙을 지향하기 위해서

REST API의 구성 요소

  • 자원(Resource): URI

자원의 고유한 ID이고 이 자원은 Server에 존재

자원을 구별하는 ID는 ‘abc/def’와 같은 HTTP URI

  • 행위(Verb): HTTP Method

HTTP 프로토콜의 Method를 사용

GET, POST, PUT, DELETE 메서드를 사용

추후에 Search 라는 메소드도 추가된다하네요 (소곤)

  • 표현 (Representation of Resource)

XML, TEXT, JSON 등등 이 있다

URI 포멧 규칙

  • Forward slash (/) 로 자원의 계층 (hierarchial relationship)을 분리한다.

ex) http://api.canvas.restapi.org/shapes/polygons/quadrilaterals/squares

  • Forward slash (/) 는 URI 마지막에 사용하지 않는다

ex) http://api.canvas.restapi.org/shapes

URI의 가동성을 높히기 위해 Hyphens(-) 을 사용한다. ( Underscore (_) 는 사용하지않는다! )

ex) http://api.example.restapi.org/blogs-mark-masse/entries

  • 혼동을 줄 수 있으므로 URI path에 대문자는사용하지 않는다

ex) http://API.Example.RestApi.org/no -> X

  • 파일 확장자는 URI에 포함시키지 않는다

ex) http://api.canvas.restapi.org/transcripts/2005/fall.json -> X

JB
JB

Written by JB

iOS engineer @kakaobank

No responses yet