FastAPI post 설정
2024. 3. 16. 22:03ㆍ파이썬/FastAPI
서버
from fastapi import FastAPI
from pydantic import BaseModel
from starlette.responses import JSONResponse
class Item(BaseModel):
user_id: str
password: str
app = FastAPI()
@app.post("/test")
async def test(item: Item):
dicted_item = dict(item)
dicted_item['success'] = True
return JSONResponse(dicted_item)
Client
- curl
# 호출
curl -X POST {서버IP}:{PORT}/test -H 'accept: application/json' -H 'Content-Type: application/json' -d '{"user_id": "aa", "password": "dd"}'
# 결과
{"user_id":"aa","password":"dd","success":true}
- 파이썬
https://studyforus.com/tipnknowhow/837515
# client.py
------------------------
import requests
import json
headers = {
"accept": "application/json",
"Content-Type": "application/json"
}
data = {
"user_id": "az",
"password": "aaa"
}
url = "http://{IP}:{PORT}/test"
# 선택 1) data로 전송시 headers값이 있어야 함
response = requests.post(url, data=json.dumps(data), headers=headers)
# 선택 2) json으로 보낼시 headeres값 필요 없음
# response = requests.post(url, json={"user_id": "aa", "password": "zzz"})
# 1) 내용 출력 가능
print("Result: ", response.text)
# 2) 내용 출력
result = response.json()
print("API Response: ", result)
------------------------
# 실행
python3 client.py
# 결과
Result: {"user_id":"az","password":"aaa","success":true}
API Response: {'user_id': 'az', 'password': 'aaa', 'success': True}
'파이썬 > FastAPI' 카테고리의 다른 글
FastAPI 이미지 만들기 (1) | 2024.09.16 |
---|---|
파일 다운로드 설정 (0) | 2024.06.28 |
FastAPI CORS 설정 (0) | 2024.04.01 |
FastAPI 설정 (0) | 2024.03.16 |