摘要:影響我寫文檔的原因可能是代碼和文檔分離,有時候?qū)懲甏a會忘記補文檔,而且不能及時查看,使用可以解決我的問題,這個插件可以根據(jù)代碼注釋生成文檔頁面,代碼注釋改動文檔可以及時更新,而且支持離線文檔下載。
影響我寫文檔的原因可能是代碼和文檔分離,有時候?qū)懲甏a會忘記補文檔,而且不能及時查看,使用 Flask-Docs 可以解決我的問題,這個插件可以根據(jù)代碼注釋生成文檔頁面,代碼注釋改動文檔可以及時更新,而且支持離線文檔下載。
Flask-DocsFlask Api 文檔自動生成插件特性
根據(jù)代碼注釋自動生成文檔
支持 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 格式文檔
@@@查看文檔頁面
在注釋結(jié)尾用 "@@@" 包含 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)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/42012.html
摘要:仿照此種寫法,在你的項目中插入類似的注釋,也能達到自動生成文檔的效果。執(zhí)行以下命令,腳本會自動遞歸掃描本目錄和子目錄的所有文本代碼文件,并生成文檔。如果是,程序會自動進行格式化展示。 介紹 showdoc是一個適合IT團隊的文檔工具,閱讀本文前需要對showdoc有基本了解 ?;窘榻B可看:https://www.showdoc.cc/help 對于寫API文檔這件事,雖然說文本編輯...
摘要:仿照此種寫法,在你的項目中插入類似的注釋,也能達到自動生成文檔的效果。執(zhí)行以下命令,腳本會自動遞歸掃描本目錄和子目錄的所有文本代碼文件,并生成文檔。如果是,程序會自動進行格式化展示。 介紹 showdoc是一個適合IT團隊的文檔工具,閱讀本文前需要對showdoc有基本了解 ?;窘榻B可看:https://www.showdoc.cc/help 對于寫API文檔這件事,雖然說文本編輯...
摘要:其標準為前身是,提供強大的在線編輯功能,包括語法高亮錯誤提示自動完成實時預覽,并且支持用戶以格式撰寫導入導出轉(zhuǎn)換文檔。 團隊內(nèi)部RestAPI開發(fā)采用設計驅(qū)動開發(fā)的模式,即使用API設計文檔解耦前端和后端的開發(fā)過程,雙方只在聯(lián)調(diào)與測試時耦合。在實際開發(fā)和與前端合作的過程中,受限于眾多因素的影響,開發(fā)效率還有進一步提高的空間。本文的目的是優(yōu)化工具鏈支持,減少一部分重復和枯燥的勞動。 現(xiàn)狀...
摘要:指定篩選條件選擇合適的狀態(tài)碼應答中,需要帶一個很重要的字段。返回結(jié)果針對不同操作,服務器向用戶返回的結(jié)果應該符合以下規(guī)范。如果狀態(tài)碼是,就應該向用戶返回出錯信息。 什么是 RESTful 什么是REST REST(英文:Representational State Transfer,又稱具象狀態(tài)傳輸)是Roy Thomas Fielding博士于2000年在他的博士論文 中提出來的一種...
閱讀 1089·2021-11-19 09:40
閱讀 2227·2021-11-15 18:00
閱讀 1278·2021-10-18 13:34
閱讀 2258·2021-09-02 15:40
閱讀 1543·2019-08-30 14:01
閱讀 1122·2019-08-30 11:11
閱讀 2489·2019-08-29 15:26
閱讀 735·2019-08-29 14:15