【问题标题】:What is the equivalent FastApi way to do request.json() as in Flask与 Flask 中的 request.json() 等效的 FastApi 方法是什么
【发布时间】:2021-05-13 19:35:58
【问题描述】:
在 Flask 中,来自客户端的请求可以这样处理
对于 JSON 数据
payload = request.get_json()
对于令牌参数
token = request.headers.get('Authorization')
论据
id = request.args.get('url', None)
FastApi 的做法是什么?
【问题讨论】:
标签:
python
flask
web
backend
fastapi
【解决方案1】:
你可以调用Request类的.json()方法为,
from json import JSONDecodeError
from fastapi import FastAPI, Request
app = FastAPI()
@app.post("/")
async def root(request: Request):
try:
payload_as_json = await request.json()
message = "Success"
except JSONDecodeError:
payload_as_json = None
message = "Received data is not a valid JSON"
return {"message": message, "received_data_as_json": payload_as_json}