Application Programming Interfaces
응용 프로그램에서 사용 가능하도록 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있도록 만든 인터페이스(규격)
Representational State Transfer
자원의 표현에 의한 상태 전달
HTTP URI를 통해 자원을 명시하고 HTTP Method를 통해 자원에 대한 CRUD Operation을 적용하는 것
자원 : Database의 회원 정보
표현 : Users
(table name)
1) Resource (자원)
URI
2) Verb (행위)
HTTP Method(
GET, POST, PUT, DELETE
)3) Representations (표현)
JSON, XML, EXT, RSS ...
REST 기반으로 서비스 API를 구현한 것
1) URI는 정보의 자원을 표현해야 함
2) 자원에 대한 행위는 HTTP Method(
GET, POST, PUT, DELETE
)로 표현
http://example.com/test (O)
http://example.com/test/ (X)
http://example.com/test/image.jpg (X)
// Accept Header를 사용해야 함
REST를 구현하는 웹 서비스를 나타내는 용어
REST API를 제공하는 웹 사이트
CRUD 기능을 모두 POST로만 처리하는 API는 RESTful하지 못함
상태코드 | |
---|---|
1XX | 전송 프로토콜 수준의 정보 교환 |
200 | client 요청을 정상적으로 수행함 |
201 | client가 어떤 리소스 생성을 요청, 해당 리소스가 성공적으로 생성됨 (POST를 통한 리소스 생성 작업) |
3XX | client는 요청을 완료하기 위해 추가적인 행동을 취해야 함 |
400 | client 요청이 부적절 |
401 | client가 인증되지 않은 상태에서 보호된 리소스를 요청 (로그인 하지 않은 유저가 로그인 시 사용가능한 리소스를 요청) |
403 | 유저 인증상태와 관계 없이 응답하고 싶지 않은 리소스를 client가 요청 |
405 | client가 요청한 리소스에서는 사용 불가능한 Method를 이용 |
5XX | server error |
API란?
REST API 제대로 알고 사용하기
[Network] REST란? REST API란? RESTful이란?