You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Flask通过静态.yaml文件生成OpenAPI文档(Swagger UI)页面

基于Flask使用本地YAML文件渲染Swagger API文档实现步骤

1. 安装依赖

首先安装需要的第三方包:
pip install flask flask-swagger-ui

2. 整理项目结构

你可以按照自己的习惯存放静态YAML文件,参考结构如下:

你的项目根目录/
├── app.py                 # Flask启动入口文件
└── swagger/               # 自定义的YAML文件存放目录
    └── api_spec.yaml      # 你提前写好的OpenAPI/Swagger规范YAML文件

3. 编写服务代码

from flask import Flask, send_from_directory
from flask_swagger_ui import get_swaggerui_blueprint

app = Flask(__name__)

# 自定义配置
SWAGGER_DOCS_ROUTE = "/api/docs"  # API文档的访问路径
SWAGGER_YAML_ROUTE = "/api/spec.yaml"  # 暴露本地YAML文件的路由

# 实现路由返回本地YAML文件内容
@app.route(SWAGGER_YAML_ROUTE)
def serve_swagger_spec():
    # 第一个参数为本地YAML文件存放的目录路径,第二个参数为YAML文件名
    return send_from_directory("./swagger", "api_spec.yaml")

# 注册Swagger UI蓝图
swagger_bp = get_swaggerui_blueprint(
    SWAGGER_DOCS_ROUTE,
    SWAGGER_YAML_ROUTE,
    config={
        "app_name": "你的API服务名称"
    }
)
app.register_blueprint(swagger_bp, url_prefix=SWAGGER_DOCS_ROUTE)

if __name__ == "__main__":
    app.run(debug=True)

4. 使用说明

  • 启动服务后,访问 http://localhost:5000/api/docs 即可查看渲染完成的API文档
  • 直接修改本地api_spec.yaml的内容,刷新文档页面即可生效,无需修改服务代码
  • 如果你的YAML文件存放在其他路径,只需修改send_from_directory的第一个参数为对应本地目录即可

注意:生产环境部署请关闭debug模式,按需限制YAML文件的访问权限,避免泄露敏感信息。

内容的提问来源于stack exchange,提问作者Eduard

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 08:12:02