flask 接口文档自动化

首先可以先去了解下 Swagger ,这个第三方库....这是flask的一个库,可以很好的生成flask的文档。还是比较好用的。

复制代码
安装依赖:
使用 pip install flasgger 安装 flasgger 库。
编写代码:
python
from flask import Flask
from flasgger import Swagger

app = Flask(__name__)
swagger = Swagger(app)

@app.route('/users')
def get_users():
    """
    获取所有用户信息
    ---
    responses:
      200:
        description: 成功返回用户信息
    """
    return "All users"

if __name__ == '__main__':
    app.run(debug=True)
访问文档:
启动 Flask 应用后,访问 http://localhost:5000/apidocs/(端口根据实际情况调整)查看 Swagger 文档。

这只是个大概的例子....

看下,实际的例子:

复制代码
@abnormal_blockage.route('/stop')
def stop():
    """
    执行异常阻断
    ---
    tags:
     - 异常阻断tool
    summary: 执行异常阻断
    description: 返回是否成功阻断了操作
    responses:
     200:
      description: 异常阻断
      schema:
       type: object
       properties:
        result:
         type: boolean
         description: 阻断结果
     400:
      description: 请求参数错误
    """
    value = random.randint(0, 1)
    if value:
        result = True
    else:
        result = False
    return jsonify(result=result)

这是一个get请求的....

复制代码
@alarm_notification.route('/', methods=['POST'])
def send_emails():
    """
    发送告警通知邮件
    ---
    tags:
      - 告警通知tool
    summary: 发送告警通知邮件
    description: 通过发邮件接口发送告警通知邮件。
    parameters:
      - name: subject
        in: body
        type: string
        required: true
        description: 邮件主题
      - name: message
        in: body
        type: string
        required: true
        description: 邮件正文
      - name: to
        in: body
        type: string
        required: true
        description: 收件人地址
      - name: cc
        in: body
        type: string
        required: true
        description: 抄送人地址
    responses:
      200:
        description: 邮件发送成功
        schema:
          type: object
          properties:
            result:
              type: boolean
              description: 邮件是否成功发送
      400:
        description: 请求参数错误
      500:
        description: 内部服务器错误
    """
    email_msg = json.loads(request.get_data().decode())

这是一个post请求的.

其实重点就在于函数里的说明文档部分,这东西写好,然后就能实现接口文档的自动化了....

直接访问 http://localhost:5000/apidocs/ 就可以....

这个界面的话,还可以直接进行测试用:

这里点开以后,还可以直接测试,并可以看到测试结果

整体还是好用的,就是有点费人.....写函数的时候,得写一大堆的 yml 格式的说明。

相关推荐
linweidong37 分钟前
中科闻歌Java面试题及参考答案
java·python·大模型·提示词·ai agent·mcp·rag原理
小玮看世界1 小时前
[Python]OD算法在OD实际运用转化参考清单
开发语言·python·算法
萧鼎1 小时前
2026实战:用 tomlkit 优雅读写 TOML 配置,告别手写解析器
python·开源·教程·python库
小刘在重生~2 小时前
Java 常用类|包装类 装箱拆箱、Integer 缓存面试题
java·python·缓存
2601_962099462 小时前
Python xlwt设置excel单元格字体及格式
python·excel·xlwt·样式设置·单元格格式
奇牙coding1232 小时前
GPT-6-Astra API 接入教程:OpenRouter 路由配置 + Python/curl 示例 + 静默降级踩坑
开发语言·python·gpt·ai
2601_962298273 小时前
Python与Selenium结合的Web自动化测试全流程实践教程
自动化测试·python·selenium·web测试·pageobjectmodel
天衍四九-3 小时前
第一章:从 LLM 到 Agent —— DeepSeek Harness 入门
网络·数据库·人工智能·python
529宝宝起名网3 小时前
用 Python 实现名字寓意评分算法:基于 NLP 语义分析的名字内涵深度评估
python·算法·自然语言处理
2601_962298673 小时前
Python:对象缓存优化机制(CPython)
python·性能优化·内存优化·cpython·对象缓存