fastapi接收json数据,完整代码
时间: 2023-08-27 13:04:03 浏览: 88
以下是一个完整的使用 FastAPI 接收 JSON 数据的示例代码:
```python
from fastapi import FastAPI
from pydantic import BaseModel
class Item(BaseModel):
name: str
description: str = None
price: float
tax: float = None
app = FastAPI()
@app.post("/items/")
async def create_item(item: Item):
item_dict = item.dict()
return {"item": item_dict}
```
在上面的代码中,定义了一个 `Item` 数据模型,包含四个字段:`name`、`description`、`price` 和 `tax`。其中,`name` 和 `price` 字段是必需的,`description` 和 `tax` 字段是可选的。
在 `create_item` 函数中,使用 `Item` 模型来接收请求数据。如果请求的数据格式不符合 `Item` 模型的定义,则会返回 422 错误。如果请求的数据格式符合要求,则会将数据转换为字典对象,并返回包含字典对象的 JSON 格式数据。
使用 Python 的 `requests` 模块来发送带有 JSON 数据的请求,如下所示:
```python
import requests
data = {
"name": "item name",
"price": 9.99
}
response = requests.post("http://localhost:8000/items/", json=data)
print(response.json())
```
在上面的代码中,使用 `requests.post` 方法发送一个 POST 请求,请求的数据是一个字典对象 `data`,通过 `json` 参数将其转换为 JSON 格式数据。
运行 FastAPI 应用程序,并发送 JSON 数据请求,即可在控制台中看到返回的 JSON 数据。
阅读全文