CS

RESTful API

seo dori 2023. 3. 23. 15:57

통신 규칙

HTTP의 통일성을 위해 만들어진 아키텍처

HTTP프로토콜을 의도에 맞게 디자인하도록 유도하는 권고사항

REST API만으로도 HTTP요청의 내용을 이해할 수 있다.

 

구성

자원(Resource)

자원: URI

행위(Verb)

자원에 대한 행위 : HTTP 요청 메서드

표현(Representations) ex-JSON, XML

자원에 대한 행위의 구체적 내용 : payload

 

REST 특징

Unifrom interface(인터페이스 일관성) : HTTP 표준 프로토콜에 따르는 모든 플랫폼에서 사용이가능-특정언어/기술에 종속 X

Stateless

Cacheable - 캐싱기능

Self - descriptiveness

Layered System => 계층형

Server - Client   

설계원칙

  1. URI는 리소스를 표현해야한다.
    1. ex)리소스를 표현하기 위해 명사사용, 이름에 행위에 대한 표현(동사)금지
// bad
GET /getTodos/1
GET /todos/show/1
// good
GET /todos/1

2. 리소스에 대한 행위는 HTTP요청 메소드로 표현클라이언트가 서버에게 request 종류와 목적(리소스에 대한 행위)를 알리는 방법

       HTTP 요청 매소드 : GET,POST,PUT,PATCH,DELETE

HTTP요청 메서드 종류 목적 페이로드(payload)
GET index/retrieve 모든/특정 리소스 취득 X
POST create 리소스 생성 0
PUT replace 리소스 전체교체 0
PATCH modify 리소스의 일부 수정 0
DELETE delete 모든/특정 리소스 삭제 X

payload란? 

전송되는 데이터

postman을 사용하여 데이터를 전송