fastapi怎么在@app.get中获得post返回参数
时间: 2024-05-10 07:16:04 浏览: 6
在 `@app.get` 中无法直接获得 `POST` 请求的参数。如果您需要在 `GET` 请求中获取 `POST` 请求的参数,您需要将这些参数存储在某个位置,例如在数据库中或在服务器的内存中,以便在 `GET` 请求中使用。
另外,如果您需要从客户端获取参数,您可以使用 `query parameters`(查询参数)或 `path parameters`(路径参数)来传递参数。例如,您可以使用 `query parameters` 来传递一个值:
```python
from fastapi import FastAPI
app = FastAPI()
@app.post("/items/")
async def create_item(item_id: int, item_name: str):
return {"item_id": item_id, "item_name": item_name}
@app.get("/items/{item_id}")
async def read_item(item_id: int, item_name: str):
return {"item_id": item_id, "item_name": item_name}
```
在上面的代码中,当客户端向 `/items/` 发送 `POST` 请求时,将传递一个 `item_id` 和一个 `item_name` 参数。这些参数被解析并存储在函数体中。当客户端向 `/items/{item_id}` 发送 `GET` 请求时,将返回存储在内存中的 `item_id` 和 `item_name` 参数。
如果您需要更复杂的逻辑,您可以使用 FastAPI 的依赖项注入功能来注入一个函数,该函数将处理所有的 `POST` 请求并将结果存储在内存中或数据库中。然后,您可以在 `GET` 请求中使用依赖项注入来获取这些值。