Back-end

[Back-end] flask로 Rest API 구현

파리외 개발자 2022. 4. 29. 20:36

REST (REpresentational State Transfer)

Rest API는 REST기반 서비스 API 이다.

HTTP는 서버/클라이언트 모델로써 서버와 컴퓨터가 서로 Response(요청)과 Request(응답)으로 통신을 한다.

여기서 통신을 할 때, 방식 중의 하나가 REST이다.

  • 자원의 표현에 의한 상태 전달
  • HTTP URI를 통해 자원을 명시, HTTP Method를 통해 자원에 대한 CRUD Operation 적용

 

REST는 HTTP가 통신을 할때 사용하는 방식 중 하나고, 페이지 주소랑 뭘 할 것인지를 적어서

그 페이지에 어떤 행동을 할 것인지를 담는 방식이라고 보면 된다.

ex) http://페이지주소.com << URI를 통해 페이지 내에 담겨있는 모든 자원을 명시

ex) POST, GET, PUT, DELETE << 자원에 대한 CRUD Operation적용

 

Flask로 REST형식 구현

127.0.0.1:8080/jsontest로 url을 요청받았을 시에 

dictionary형태, 즉 key와 value로 이루어져 색인행렬인 JSON에 적합하게 만들어진 데이터가

jsonify()를 통해 JSON응답데이터로 만들어주었다.

 

클라이언트와 서버가 요청과 응답을 할 시에 이런 식으로 데이터를 주고받게 하는 것이

REST API이다. 

 

REST API 테스트

 

HTTPie – API testing client that flows with you

Making APIs simple and intuitive for those building the tools of our time.

httpie.io

 

테스트를 위해 httpie를 사용했다.

pip install --upgrade pip setuptools
pip install --upgrade httpie

윈도우에서는 cmd창에서 위와 같이 다운받을 수 있다.

http -v GET url주소 를 사용해 cmd에서 테스트를 할 수 있다.

 

 

위 단락이 request, 아래가 response정보이다.

 

Request에서는

GET이 http method이고 /jsontest는 경로, HTTP/1.1은 버전정보이다.

Host정보도 알 수 있다.

 

Response에서는

마찬가지로 버전인 HTTP/1.0, Status code인 200과 Status msg인 OK를 통해 정상적인 실행임을 알 수 있다.