gpt4 book ai didi

python - 如何在名称中带有连字符的 FastApi-SwaggerUI 中键入变量?

转载 作者:行者123 更新时间:2023-12-05 01:27:02 26 4
gpt4 key购买 nike

如果我向此 API 发送请求:

from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()


class Response(BaseModel):
var_name: str

@app.put("/", response_model=Response)
def simple_server(a: str):
response = Response(var_name=a)
return response

我收到一个响应,这个 json 文件 {"var_name1": "a"}。此外,我得到了一个非常漂亮的 Swagger UI,它说明了响应字段。

我的问题是,我怎样才能得到这个 json 文件 {"var-name1": "a"}(这是一个连字符而不是下划线),在 Swagger 中输入同样漂亮文档?

显然,我不能在 Response 数据类中命名 var_name 属性 var-name

最佳答案

稍微修改你的 pydantic 对象:

from pydantic import BaseModel, Field

class Response(BaseModel):
var_name: str = Field(alias="var-name")

class Config:
allow_population_by_field_name = True

allow_population_by_field_name 选项是允许使用字段名称创建对象所必需的,没有它您只能使用别名实例化它。

关于python - 如何在名称中带有连字符的 FastApi-SwaggerUI 中键入变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69843204/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com