반응형
Flask를 활용하여 간단한 API 서버를 작성해 보았다.
주로 테스트에 필요한 더미 서버를 만들 때 사용하는데, 이번엔 request body에 포함된 데이터를 response body 일부에 활용하게 되었다.
아래는 샘플 코드다.
< 샘플 코드 구조 >
server.py : main source
response : 응답 샘플을 넣어둔 폴더
< server.py >
from flask import Flask, request, Response, send_file
import json
import time
import uuid
import datetime
from pytz import utc
from waitress import serve
from pathlib import Path
app = Flask(__name__)
HOME_DIR = './response/'
@app.route('/user', methods=['POST'])
def post_user():
_time = utc.localize(datetime.datetime.utcnow())
_uuid = uuid.uuid4()
_rootfile = Path(HOME_DIR+'post_user_____.json')
tmp = open(_rootfile)
f = json.load(tmp)
_code = f["_code"]
_bodyfile = f["_filename"]
tmp.close()
__bodyfile = Path(HOME_DIR+_bodyfile)
tmp = open(__bodyfile)
f = json.load(tmp)
tmp.close()
req_data = request.get_json()
if _code == 201:
f['name'] = req_data['name']
f['phone'] = req_data['phone']
f['uuid'] = "{}".format(_uuid)
f['time'] = "{}".format(_time)
_body = f
else:
_body = f
resp = Response(json.dumps(_body), mimetype='application/json', status=_code)
return resp
if __name__ == '__main__':
serve(app, host='0.0.0.0', port=9999)
< server.py 실행 >
python server.py
< request & response 확인 >
반응형
'Engineering > Script, Coding' 카테고리의 다른 글
Golang : 프로그래밍 환경 구성 및 Hello World 출력하기 (0) | 2022.02.02 |
---|---|
Java Option - GC 로그 출력하기, Memory Dump 남기기 (0) | 2022.01.03 |
flask : boto3 활용하여 AWS S3에 file upload URL(presigned_post) 응답주는 web server 구현하기 (0) | 2021.09.03 |
댓글