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 格式的说明。

相关推荐
zone77398 小时前
001:简单 RAG 入门
后端·python·面试
F_Quant8 小时前
🚀 Python打包踩坑指南:彻底解决 Nuitka --onefile 配置文件丢失与重启报错问题
python·操作系统
允许部分打工人先富起来9 小时前
在node项目中执行python脚本
前端·python·node.js
IVEN_10 小时前
Python OpenCV: RGB三色识别的最佳工程实践
python·opencv
haosend10 小时前
AI时代,传统网络运维人员的转型指南
python·数据网络·网络自动化
曲幽11 小时前
不止于JWT:用FastAPI的Depends实现细粒度权限控制
python·fastapi·web·jwt·rbac·permission·depends·abac
IVEN_1 天前
只会Python皮毛?深入理解这几点,轻松进阶全栈开发
python·全栈
Ray Liang1 天前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计
AI攻城狮1 天前
如何给 AI Agent 做"断舍离":OpenClaw Session 自动清理实践
python
千寻girling1 天前
一份不可多得的 《 Python 》语言教程
人工智能·后端·python