Go gin 如何自定义参数校验?

15 min read

你可以使用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异常。

通过这种方式,我们可以自定义任何参数的验证规则来确保应用程序数据的完整性。