REST API

손문기·2021년 7월 20일
0

API?

프로그램들이 상호 작용 하는것을 보조하는 인터페이스

REST(RESTful)?

Representational State Transfer 의 약자로 웹 서버가 요청을 응답하는 방법론 중 하나이다.
데이터가 아닌, 자원(Resource)의 관점으로 접근한다.
자원을 이름(표현)으로 구분하여 해당 자원의 상태(정보)를 주고 받는것을 의미한다.

REST API

HTTP URI를 통해 자원을 명시하고, HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD를 진행하는것을 의미한다.
웹 사이트의 모든 자원에 고유한 ID인 HTTP URI를 부여한다.

CRUD Operation

  • Create: 생성(POST)
  • Read: 조회(GET)
  • Update: 갱신(PUT)
  • Delete: 삭제(DELETE)

REST API의 Stateless(무상태성)

Client의 context를 Server에 저장하지 않는다.
Server는 각 요청을 완전히 별개의 것으로 인식하고 처리한다

REST API Example

(POSTMAN을 사용하여 API 테스트하기)

커피숍 매뉴 API 구축하기

먼저 기본 커피 매뉴를 딕셔너리 형태로 만들었다.

1. GET

  • GET 메소드 구현
  • POSTMAN에서 GET을 해보면 이미 만들어 놨던 메뉴가 나타난다.

2. POST

  • POST 메소드 구현
  • POST할 내용을 Body에 JSON으로 작성하여 실행한다.
  • GET을 다시 해보면 POST가 잘 반영된것을 확인할 수 있다.

3. PUT

  • PUT 메소드 구현
  • PUT할 내용을 Body에 JSON으로 작성하여 실행한다.
  • GET을 다시 해보면 PUT이 잘 반영된것을 확인할 수 있다.

4. DELETE

  • DELETE 메소드 구현
  • DELETE를 실행하면 삭제할 ID의 메뉴를 보여준다.
  • GET을 다시 해보면 DELETE이 잘 반영된것을 확인할 수 있다.

Flask를 이용하여 간단한 REST API를 작성하고 POSTMAN을 통해 테스트까지 해보았다. 지금의 API는 데이터가 저장되고 있지 않기 때문에 서버가 리셋되면 데이터가 날아가버린다. 다음 시간에는 이를 해결하기위해 DB에 연동을 해보도록 하자!

0개의 댓글