当前位置: 首页 > 知识库问答 >
问题:

覆盖FastAPI中自动生成的参数

楚雪松
2023-03-14

我正在编写FastAPI程序,它只是一堆用于查询数据的@app.getendpoint。他们可以使用许多不同的查询参数,这些参数是从配置文件中自动生成的,例如@app.get("/ADJUST_COLOR/")endpoint可能看起来像/ADJUST_COLOR/?RED_darker=10

@app.get("/ADJUST_COLOR/")
def query_COLORS( request: Request ):
    return look_through_parameters(request.query_params) 

因为我是手动解析请求,所以没有生成任何参数。但是,由于我有一个完整的参数列表,所以我应该能够生成自己的文档并让UI显示它。

我翻看了这两个文档:https://fastapi . tiangolo . com/tutorial/path-operation-configuration/< br >和https://fastapi . tiangolo . com/advanced/path-operation-advanced-configuration/

但我不知道这是否可行


共有1个答案

诸葛阳成
2023-03-14

您可以通过openapi_extra在路由中定义自定义api架构(这是FastAPI的最新功能,0.68可以工作,但我不确定支持此功能的确切最早版本):

@app.get("/ADJUST_COLOR/", openapi_extra={
    "parameters": [
        {
            "in": "query",
            "name": "RED_darker",
            "schema": {
                "type": "integer"
            },
            "description": "The level of RED_darker"
        },
        {
            "in": "query",
            "name": "BLUE_lighter",
            "schema": {
                "type": "integer"
            },
            "description": "The level of BLUE_lighter"
        },
        {
            "in": "query",
            "name": "GREEN_inverse",
            "schema": {
                "type": "boolean"
            },
            "description": "is GREEN_inverse?"
        },
    ]
})
async def query_COLORS(request: Request):
    return look_through_parameters(request.query_params)
 类似资料:
  • 问题内容: 我在Employee类中有以下定义 现在,我想使用现有员工ID导入现有员工。即使在保存之前设置了员工ID,也会忽略分配的ID,并存储自动递增的ID。我们如何覆盖呢? 问题答案: 我编写了自己的生成器来解决此问题。 并像这样使用它:(替换包名)

  • 我使用eclipse生成Object的hashCode和equals方法的覆盖,并生成了一些关于hashCode覆盖的问题。下面的hashCode()是否正确? 问题: -为什么eclipse会生成两行代码?我认为将两个结果相加是合适的。知道为什么它们是分开的任务吗? -最终的int素数可以是任何素数吗? -整数结果是否应始终为 1?

  • 我正在使用supportlib v4来实现主细节流。 方法在单击后调用:

  • 设置了hibernate的Id生成策略,但是现在要存放指定的Id,要怎样才能 防止被hibernate自动生成的id覆盖? 关闭生成策略,但是现在要开启生成策略。

  • 我希望它改用id: 我正在对ObjectMapper进行子类化,所以也许有一些方法可以挂钩

  • 我们没有本地存储,每次我们在POD部署时生成idp元数据。 然而,SP还需要处理idp元数据x509证书。有办法处理这种情况吗?