使用apidoc管理RESTful风格Flask项目接口文档方法

木白
木白
发布时间:2026-10-13| 3人浏览过
原创

本文介绍如何在Flask项目中集成apidoc工具,通过安装Node.js、apidoc及flask-apidoc扩展,配置manage.py启动脚本和apidoc.json文件,在视图函数中添加标准注释,最终生成静态RESTful风格接口文档。

本文介绍一种在Flask项目中利用apidoc工具来管理RESTful风格接口文档的具体方法。

apidoc项目的官方地址为:

Flask扩展包flask-apidoc的下载地址为:

生成的文档示例可查看:

第一步,确保系统中已安装Node.js。

sudo apt-get install nodejs
sudo apt install nodejs-legacy
sudo apt install npm

第二步,通过npm全局安装apidoc工具。

npm install apidoc -g

第三步,使用pip安装Flask扩展包flask-apidoc。

pip install flask-apidoc

第四步,将扩展包集成到现有的Flask项目中。

项目依赖环境包括flask>=0.10.1和flask_script>=2.0.5。

flask>=0.10.1
flask_script>=2.0.5

在项目根目录的manage.py启动脚本中,需要引入GenerateApiDoc命令并将其注册到Manager中,以便通过命令行生成文档。

from views import app
from flask_apidoc.commands import GenerateApiDoc
from flask_script import Manager
manager = Manager(app)
manager.add_command('apidoc', GenerateApiDoc())
if __name__ == "__main__":
 manager.run()

第五步,在项目根目录下创建apidoc.json配置文件。

该配置文件必须位于项目根目录,用于定义API的基本信息如名称、版本、描述和URL。

{
 "name": "Flask REST API",
 "version": "1.0.0",
 "description": "A Flask REST API example",
 "title": "A Flask REST API example",
 "url" : "http://localhost:5000"
}

在视图函数中,使用标准注释块描述API接口,包括请求方法、路径、参数、成功响应及错误响应示例。


# -*- coding: utf-8 -*-
from flask import Flask
from flask_apidoc import ApiDoc
app = Flask(__name__)
doc = ApiDoc(app=app)

@app.route('/users', methods=['POST'])
def register():
 """
 @api {post} /api/v1.0/users 注册
 @apiVersion 1.0.0
 @apiName register_user
 @apiGroup Users
 @apiParam {String} mobile  (必须) 用户手机号
 @apiParam {String} password (必须) 用户密码
 @apiParam {String} sms_code (必须) 用户短信验证码
 @apiParamExample {json} Request-Example:
  {
   mobile: "13970512239",
   password: "123456",
   sms_code: "907896"
  }
 @apiSuccess (回参) {int} user_id 用户注册id
 @apiSuccess (回参) {String} name 用户昵称
 @apiSuccess (回参) {String} mobile 用户注册手机号
 @apiSuccess (回参) {String} avatar 用户头像地址
 @apiSuccess (回参) {String} create_time 用户创建时间
 @apiSuccessExample {json} Success-Response:
  {
   "errno":0,
   "errmsg":"注册成功!",
   "data": {
    "user_id": 1,
    "name": "lynnyq",
    "mobile": "13813888888",
    "avatar": "http://p3ifu3dwc.bkt.clouddn.com/FjuAwxmcCtiud_nOZ",
    "create_time": "2010-1-1 12:12:12"
   }
  }
 @apiErrorExample {json} Error-Response:
  {
   "errno":4001,
   "errmsg":"数据库查询错误!"
  }
 """
 pass

第六步,执行命令生成RESTful风格的接口文档。

python manage.py apidoc

生成的文档默认存放于项目根目录下的static/docs文件夹中。

查看生成的接口文档页面效果,确认文档展示是否符合预期。

以上即为使用apidoc管理RESTful风格Flask项目接口文档的完整流程,供读者参考。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。