你可以使用validator
自定义参数校验。
以下是一个示例代码:
from fastapi import FastAPI, Query
from pydantic import BaseModel, validator
app = FastAPI()
class Item(BaseModel):
name: str
price: float
tax: float = None
@validator('tax')
def validate_tax(cls, v, field):
if v is not None and v <= 0:
raise ValueError('tax must be greater than 0')
return v
@app.post('/items/')
async def create_item(item: Item):
return item
在这个例子中,我们使用了Pydantic的validator
来自定义tax
参数的校验规则。
我们创建了一个Item
类,并使用@validator
装饰器来自定义tax
参数的校验规则。在validate_tax
方法中,我们检查tax
参数是否为空或小于等于0。如果是,则抛出ValueError
异常。
通过这种方式,我们可以自定义任何参数的验证规则来确保应用程序数据的完整性。