【问题标题】:How can I create Swagger docs for dynamic Flask endpoints?如何为动态 Flask 端点创建 Swagger 文档?
【发布时间】:2020-08-03 16:34:17
【问题描述】:

我有一个端点列表,如下所示。

endpoints ["/endpoint1", "/endpoint2", "/endpoint3"]

我想在我的应用程序中创建动态端点并为所有端点创建 swagger API 文档,我该怎么做。

@app.route(<endpoint>):
  def process():

【问题讨论】:

标签: python flask swagger fastapi


【解决方案1】:

使用Enum--(FastAPI doc)

from enum import Enum
from fastapi import FastAPI


class ModelName(str, Enum):
    endpoint1 = "endpoint1"
    endpoint2 = "endpoint2"
    endpoint3 = "endpoint3"


app = FastAPI()


@app.get("/model/{model_name}")
async def process(model_name: ModelName):
    return {"model_name": model_name, "message": "Some message"}

因此你会得到如下结果,

【讨论】:

  • 感谢您的回答,是否可以提供端点列表,而不是在 Class ModelName 内进行硬编码
  • 根据我的问题,我在列表中有端点......所以我的用例需要这样
  • endpoint 一词令人困惑(我)。那是path parameter吗?
  • 嗯,是的。我有 5 个端点,每个端点有 5 个路径参数,在这种情况下,我猜我需要 5 个 Enum class。谢谢
  • 那么,你的用例可能需要不同的枚举类
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-27
  • 1970-01-01
  • 1970-01-01
  • 2021-02-11
  • 1970-01-01
相关资源
最近更新 更多