摘要:影响我写文档的原因可能是代码和文档分离,有时候写完代码会忘记补文档,而且不能及时查看,使用可以解决我的问题,这个插件可以根据代码注释生成文档页面,代码注释改动文档可以及时更新,而且支持离线文档下载。
影响我写文档的原因可能是代码和文档分离,有时候写完代码会忘记补文档,而且不能及时查看,使用 Flask-Docs 可以解决我的问题,这个插件可以根据代码注释生成文档页面,代码注释改动文档可以及时更新,而且支持离线文档下载。
Flask-DocsFlask Api 文档自动生成插件特性
根据代码注释自动生成文档
支持 Flask-RESTful
支持离线 markdown 文档下载
安装pip install Flask-Docs使用
from flask import Flask from flask_docs import ApiDoc app = Flask(__name__) # 本地加载 # app.config["API_DOC_CDN"] = False # 禁用文档页面 # app.config["API_DOC_ENABLE"] = False # 需要显示文档的 Api app.config["API_DOC_MEMBER"] = ["api", "platform"] # 需要排除的 RESTful Api 文档 app.config["RESTFUL_API_DOC_EXCLUDE"] = [] ApiDoc(app)如何书写 markdown 格式文档
@@@查看文档页面
在注释结尾用 "@@@" 包含 markdown 格式文档
@@@
http://127.0.0.1/docs/apiApi demo
@api.route("/add_data", methods=["POST"]) def add_data(): """Add some data Add some data in this routing Args: pass Returns: pass """ return jsonify({"api": "add data"})
@api.route("/del_data", methods=["POST"]) def del_data(): """Del some data @@@ #### args | args | nullable | type | remark | |--------|--------|--------|--------| | title | false | string | blog title | | name | true | string | person"s name | #### return - ##### json > {"msg": "success", "code": 200} @@@ """ return jsonify({"api": "del data"})
@platform.route("/get_something", methods=["GET"]) def get_something(): """ @@@ #### example import requests url="http://127.0.0.1:5000/api/get_something" try: print requests.get(url).text except: pass @@@ """ return jsonify({"platform": "get something"})完整代码
#!/usr/bin/env python # -*- coding:utf-8 -*- from flask import Flask, render_template, jsonify, Blueprint from flask_docs import ApiDoc app = Flask(__name__) # Local loading # app.config["API_DOC_CDN"] = False # Disable document pages # app.config["API_DOC_ENABLE"] = False # Api Document needs to be displayed app.config["API_DOC_MEMBER"] = ["api", "platform"] ApiDoc(app) api = Blueprint("api", __name__) platform = Blueprint("platform", __name__) @api.route("/add_data", methods=["POST"]) def add_data(): """Add some data Add some data in this routing Args: pass Returns: pass """ return jsonify({"api": "add data"}) @api.route("/del_data", methods=["POST"]) def del_data(): """Del some data @@@ #### args | args | nullable | type | remark | |--------|--------|--------|--------| | title | false | string | blog title | | name | true | string | person"s name | #### return - ##### json > {"msg": "success", "code": 200} @@@ """ return jsonify({"api": "del data"}) @platform.route("/get_something", methods=["GET"]) def get_something(): """ @@@ #### example import requests url="http://127.0.0.1:5000/api/get_something" try: print requests.get(url).text except: pass @@@ """ return jsonify({"platform": "get something"}) app.register_blueprint(api, url_prefix="/api") app.register_blueprint(platform, url_prefix="/platform") if __name__ == "__main__": app.run(host="0.0.0.0", port=5000, debug=True)Flask-RESTful Api demo
from flask_restful import Resource, Api class TodoList(Resource): """Manage todolist""" def post(self): """Submission of data Args: pass Returns: pass """ return {"todos": "post todolist"} def get(self): """ @@@ #### args | args | nullable | type | remark | |--------|--------|--------|--------| | id | false | int | todo id | #### return - ##### json > {...} @@@ """ return {"todos": "get todolist"} restful_api.add_resource(TodoList, "/todolist")
#!/usr/bin/env python # -*- coding:utf-8 -*- from flask import Flask from flask_restful import Resource, Api from flask_docs import ApiDoc app = Flask(__name__) # Local loading # app.config["API_DOC_CDN"] = False # Disable document pages # app.config["API_DOC_ENABLE"] = False # RESTful Api documents to be excluded app.config["RESTFUL_API_DOC_EXCLUDE"] = [] restful_api = Api(app) ApiDoc(app) class TodoList(Resource): """Manage todolist""" def post(self): """Submission of data Args: pass Returns: pass """ return {"todos": "post todolist"} def get(self): """ @@@ #### args | args | nullable | type | remark | |--------|--------|--------|--------| | id | false | int | todo id | #### return - ##### json > {...} @@@ """ return {"todos": "get todolist"} restful_api.add_resource(TodoList, "/todolist") if __name__ == "__main__": app.run(host="0.0.0.0", port=5000, debug=True)
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/42012.html
摘要:仿照此种写法,在你的项目中插入类似的注释,也能达到自动生成文档的效果。执行以下命令,脚本会自动递归扫描本目录和子目录的所有文本代码文件,并生成文档。如果是,程序会自动进行格式化展示。 介绍 showdoc是一个适合IT团队的文档工具,阅读本文前需要对showdoc有基本了解 。基本介绍可看:https://www.showdoc.cc/help 对于写API文档这件事,虽然说文本编辑...
摘要:仿照此种写法,在你的项目中插入类似的注释,也能达到自动生成文档的效果。执行以下命令,脚本会自动递归扫描本目录和子目录的所有文本代码文件,并生成文档。如果是,程序会自动进行格式化展示。 介绍 showdoc是一个适合IT团队的文档工具,阅读本文前需要对showdoc有基本了解 。基本介绍可看:https://www.showdoc.cc/help 对于写API文档这件事,虽然说文本编辑...
摘要:其标准为前身是,提供强大的在线编辑功能,包括语法高亮错误提示自动完成实时预览,并且支持用户以格式撰写导入导出转换文档。 团队内部RestAPI开发采用设计驱动开发的模式,即使用API设计文档解耦前端和后端的开发过程,双方只在联调与测试时耦合。在实际开发和与前端合作的过程中,受限于众多因素的影响,开发效率还有进一步提高的空间。本文的目的是优化工具链支持,减少一部分重复和枯燥的劳动。 现状...
摘要:指定筛选条件选择合适的状态码应答中,需要带一个很重要的字段。返回结果针对不同操作,服务器向用户返回的结果应该符合以下规范。如果状态码是,就应该向用户返回出错信息。 什么是 RESTful 什么是REST REST(英文:Representational State Transfer,又称具象状态传输)是Roy Thomas Fielding博士于2000年在他的博士论文 中提出来的一种...
阅读 1073·2021-11-19 09:40
阅读 2213·2021-11-15 18:00
阅读 1266·2021-10-18 13:34
阅读 2247·2021-09-02 15:40
阅读 1532·2019-08-30 14:01
阅读 1112·2019-08-30 11:11
阅读 2481·2019-08-29 15:26
阅读 721·2019-08-29 14:15