honey_pot

REST API란? 본문

기타

REST API란?

_tera_ 2021. 6. 2. 23:35

REST API : Representational State Transfer

  • 자원에 대하여 자원의 상태에 대한 정보를 주고받는 개발 방식
  • REST는 서버의 자원을 어떠한 방식으로 접근하도록 해야하는지를 구체적으로 명시한 것이다.
  • API는 프로그램이 상호작용하기 위한 인터페이스이다. (서버와 클라이언트를 연결하여 상호작용하게 한다.)
  • HTTP 프로토콜을 그대로 사용하므로 웹이나 모바일 개발에서 서버와 클라이언트가 통신하기에 적합한 방식이다.

예) '/boards'

API 명세 : '클라이언트가 /boards 라는 경로에 들어갔을 때 게시물 목록을 준다.' 라고 명시

API 개발 : 실제로 서버의 /boards 경로에 들어갔을 때, 관련 정보가 나오도록 개발까지 하는 것


  • REST API는 REST 아키텍처를 따르는 API를 의미한다.

개발형 코딩 테스트 문제에서 'REST API를 제공한다'

REST 방식으로 개발된 API를 통해 어떠한 데이터를 제공하니 REST 규칙대로 호출하라는 의미이다.

 

예) 교통 안내 프로그램 개발 문제 + 교통 정보 데이터를 API로 제공 할 경우

  1. 교통 정보를 제공하는 API를 호출해서 데이터를 가져온다
  2. 그 데이터로 교통 안내 프로그램을 개발한다.

 


 

REST API 호출 : REST 방식을 따르고 있는 서버에 특정한 요청을 보내서 데이터를 가져오는 것

 

REST의 구성 요소

자원 (Resource) URI를 이용하여 표현 ( URI는 명사 형태를 이용)
행위 (Verb) HTTP 메서드를 이용하여 표현
표현 (Representation)  

REST를 이용하려면?

  1. HTTP URI로 자원을 명시하고,
  2. HTTP 메서드 (POST, GET, PUT, DELETE)를 통해 해당 자원을 어떻게 처리할 것인지 명시한다.

예1) https://example.com 웹사이트에서 회원 정보를 접근할 때 URI를 /users로 지정하면

클라이언트가 회원 정보 관련 요청을 보낼 때에는  https://example.com/users 에 접근하게 된다. 

 

예2) 회원가입 시에는

POST 방식으로 /users에 접근한다.

아이디, 비밀번호, 주소 등의 정보 데이터를 페이로드(payload)에 담아서 보낸다.

 

예3) 회원 정보 수정 시에는 /users에 접근하여 PUT 방식으로 호출한다.

 


RESTful 

HTTP Verbs /articles /articles/test
GET Fetch all the articles Fetches the article on jack-bauer
POST Creat one new article -
PUT - Update the article on test
PATCH - Updates the article on test
DELETE Delete all the articles  Deletes the article on test

 

'기타' 카테고리의 다른 글

[git] branch와 merge  (0) 2021.06.09
[git] .gitignore와 git clone  (0) 2021.06.09
JSON이란?  (0) 2021.06.02
서버와 클라이언트, HTTP  (0) 2021.06.02
[Git] cmd/bash로 첫 커밋하기  (0) 2021.05.28
Comments