Hello! 欢迎来到小浪资源网!



FastAPI Swagger文档如何实现嵌套接口展示?


FastAPI Swagger文档如何实现嵌套接口展示?

fastapi swagger 文档的嵌套展示

想要在 swagger 文档中展示嵌套结构,例如后台管理下包含用户管理和文章管理,用户管理下包含 a 接口和 b 接口,文章管理下包含 c 接口和 d 接口。

当前效果:

  • 后台管理

    • a 接口
    • b 接口
    • c 接口
    • d 接口
  • 用户管理

    • a 接口
    • b 接口
  • 文章管理

    • c 接口
    • d 接口

期望效果:

  • 后台管理

    • 用户管理

      • a 接口
      • b 接口
    • 文章管理

      • c 接口
      • d 接口

代码:

routerAdmin = APIRouter(     prefix='/admin',     tags=['后台管理'] )  # routerUser 包含 a, b 接口 routerAdmin.include_router(routerUser, prefix='/user')  # routerArticle 包含 c, d 接口 routerAdmin.include_router(routerArticle, prefix='/article')  app = fastapi()  app.include_router(routerAdmin)

实现:

目前 openapi 规范不支持嵌套结构。因此,无法使用 fastapi 的内置 swagger ui 来实现上述嵌套展示效果。

然而,可以通过使用第三方插件来实现嵌套展示。例如,fastapi-swaggerui-template 插件可以提供自定义 swagger ui 模版,并支持嵌套结构的展示。

但是,需要注意的是,第三方插件的使用可能会引入额外的依赖关系和复杂性,需要谨慎选择。

相关阅读