如何从 POST 请求中快速 api 获取查询参数

How to get query params in fast api from POST request

客户端可能会发送多个查询参数,例如:

# method = POST 
http://api.com?x=foo&y=bar

我需要从 POST 请求中获取所有查询参数和 extract 作为字符串 x=foo&y=bar

有没有办法在 fast api 上执行此操作?我在他们的文档中找不到它。

注意:

我们not事先确定参数的名称。

根据您希望如何使用数据,您可以使用 request.query_params 来检索带有参数的不可变字典,或者您可以使用 request.url 来获取表示实际 URL。该对象有一个 query 属性 可用于获取原始字符串:

from fastapi import FastAPI, Request
import uvicorn

app = FastAPI()

@app.get('/')
def main(request: Request):
    return request.url.query

 
uvicorn.run(app)

此 returns 给定的查询字符串 /?foo=123 作为 foo=123 来自 API。此功能的 POST 或 GET 请求之间没有区别。