在下面的代码中,我创建了一个发布路由,无论输入如何,它都会发回相同的响应。
输入和输出是自动验证的,因为我在适当的地方引用了 pydantic BaseModel。
在您的文档中,您有如何修改响应代码的示例。
两个问题:
如何在保留响应验证(我放置在装饰器中)的同时有条件地修改响应代码?
我能做些什么来清理我的代码?为输入提供默认值的首选方法是什么?你能举个例子吗?
from pydantic import BaseModel
from pydantic import UrlStr, IPvAnyAddress
...
class Bar(BaseModel):
url = UrlStr
ip = IPvAnyAddress
@app.post('/foo', response_model=Bar)
async def foo_endpoint(request: Bar):
response = Bar(**{ip='111.111.111.111', url='www.google.com'})