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