python fastapi body 对不同类型参数的书写规范
时间: 2023-09-26 12:15:09 浏览: 151
python 函数中的参数类型
5星 · 资源好评率100%
在使用 FastAPI 时,可以使用 Pydantic 模块来定义请求体(body)中的参数类型。以下是不同类型参数的书写规范:
1. JSON 类型参数:
```python
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class Item(BaseModel):
name: str
price: float
is_offer: bool = None
@app.post("/items/")
async def create_item(item: Item):
return item
```
2. 表单数据类型参数:
```python
from fastapi import FastAPI, Form
app = FastAPI()
@app.post("/login/")
async def login(username: str = Form(...), password: str = Form(...)):
return {"username": username}
```
3. 文件上传类型参数:
```python
from fastapi import FastAPI, File, UploadFile
app = FastAPI()
@app.post("/files/")
async def create_file(file: bytes = File(...), fileb: UploadFile = File(...)):
return {"file_size": len(file), "fileb_content_type": fileb.content_type}
```
需要注意的是,在定义请求体参数时,需要指定参数的类型和默认值(如果有的话),并将其作为函数参数传递给路由处理函数。同时,需要确保请求体参数的名称与客户端发送请求时的参数名称一致。
阅读全文