在 Flask 中执行 request.json() 的等效 FastAPI 方法是什么?

DP9*_*DP9 2 python json starlette fastapi

在Flask中,来自客户端的请求可以如下处理。

对于 JSON 数据:

payload = request.get_json()

对于令牌参数:

token = request.headers.get('Authorization')

对于参数:

id = request.args.get('url', None)

FastAPI 做同样事情的方法是什么?

JPG*_*JPG 10

您可以将类.json()的方法称为Request

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}
Run Code Online (Sandbox Code Playgroud)