본문 바로가기
Flask

Flask - flask로 REST API 구현 및 테스트

by DGK 2021. 11. 24.

 

Flask 입문 수업을 듣고 중요한 내용을 정리했습니다.
개인 공부 후 자료를 남기기 위한 목적이므로 내용 상에 오류가 있을 수 있습니다.

 

flask로 REST API 구현 및 테스트(Python)

flask를 사용하여 REST API를 구현하고 테스트하는 연습을 하고자 한다.

 

REST API 구현 및 테스트(with flask)

flask에서는 딕셔너리(dict) 데이터 타입을 응답 데이터로 만들고, 이를 jsonify() 함수를 사용하여 JSON 응답 데이터로 만들 수 있다. 즉, 특정한 URI를 요청하면 JSON 형식으로 데이터를 반환하도록 만들 수 있다.

 

참고로, flask의 jsonify() 함수는 응답 데이터를 JSON 포멧으로 제공해준다.

 

 

*참고(1)

flask로 REST API 테스트를 하기 위해서는 우선 httpie를 설치해야 한다.

httpie 설치 방법

 

*참고(2)

httpie 사용법(기본구조)

   - http HTTP 함수 URI

 

ex. http GET http://localhost:8080/json_test

 

   - http -v HTTP 함수 URI  (송신 HTTP 프로토콜 데이터도 함께 출력하는 경우)

 

ex. http -v GET http://localhost:8080/json_test

 

 

  • REST API 구현 및 테스트 연습
from flask import Flask, jsonify
app = Flask(__name__)

@app.route('/json_test')
def hello_json():
    data = {'name' : '김대리', 'family' : 'Byun'}
    return jsonify(data)

@app.route('/server_info')
def server_json():
    data = {'server_name' : '0.0.0.0', 'server_port' : '8080' }
    return jsonify(data)
    
    
if __name__ == "__main__":              
    app.run(host="0.0.0.0", port="8081")

 

```

결과 :

 

http://0.0.0.0:8081/json_test
http://0.0.0.0:8081/server_info

 

 

*터미널 창에서 httpie를 사용하여, REST API를 구현하고 테스트한 결과 

 

http://0.0.0.0:8081/json_test
http://0.0.0.0:8081/server_info

```

 

참고로, http://0.0.0.0:8081/json_test의 JSON 응답 데이터에서 한글이 깨지는 문제는 JSON Viewer라는 크롬 확장프로그램을 설치하면 해결할 수 있다.

 

 

댓글