成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

使用 Flask-Docs 自動生成 Api 文檔

鄒強 / 640人閱讀

摘要:影響我寫文檔的原因可能是代碼和文檔分離,有時候?qū)懲甏a會忘記補文檔,而且不能及時查看,使用可以解決我的問題,這個插件可以根據(jù)代碼注釋生成文檔頁面,代碼注釋改動文檔可以及時更新,而且支持離線文檔下載。

影響我寫文檔的原因可能是代碼和文檔分離,有時候?qū)懲甏a會忘記補文檔,而且不能及時查看,使用 Flask-Docs 可以解決我的問題,這個插件可以根據(jù)代碼注釋生成文檔頁面,代碼注釋改動文檔可以及時更新,而且支持離線文檔下載。

Flask-Docs
Flask 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/api
Api 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

相關(guān)文章

  • 如何利用showdoc自動生成API文檔

    摘要:仿照此種寫法,在你的項目中插入類似的注釋,也能達到自動生成文檔的效果。執(zhí)行以下命令,腳本會自動遞歸掃描本目錄和子目錄的所有文本代碼文件,并生成文檔。如果是,程序會自動進行格式化展示。 介紹 showdoc是一個適合IT團隊的文檔工具,閱讀本文前需要對showdoc有基本了解 ?;窘榻B可看:https://www.showdoc.cc/help 對于寫API文檔這件事,雖然說文本編輯...

    linkin 評論0 收藏0
  • 如何利用showdoc自動生成API文檔

    摘要:仿照此種寫法,在你的項目中插入類似的注釋,也能達到自動生成文檔的效果。執(zhí)行以下命令,腳本會自動遞歸掃描本目錄和子目錄的所有文本代碼文件,并生成文檔。如果是,程序會自動進行格式化展示。 介紹 showdoc是一個適合IT團隊的文檔工具,閱讀本文前需要對showdoc有基本了解 ?;窘榻B可看:https://www.showdoc.cc/help 對于寫API文檔這件事,雖然說文本編輯...

    周國輝 評論0 收藏0
  • 【效率專精系列】善用API統(tǒng)一描述語言提升RestAPI開發(fā)效率

    摘要:其標準為前身是,提供強大的在線編輯功能,包括語法高亮錯誤提示自動完成實時預覽,并且支持用戶以格式撰寫導入導出轉(zhuǎn)換文檔。 團隊內(nèi)部RestAPI開發(fā)采用設計驅(qū)動開發(fā)的模式,即使用API設計文檔解耦前端和后端的開發(fā)過程,雙方只在聯(lián)調(diào)與測試時耦合。在實際開發(fā)和與前端合作的過程中,受限于眾多因素的影響,開發(fā)效率還有進一步提高的空間。本文的目的是優(yōu)化工具鏈支持,減少一部分重復和枯燥的勞動。 現(xiàn)狀...

    tianyu 評論0 收藏0
  • 使用swagger 生成 Flask RESTful API

    摘要:指定篩選條件選擇合適的狀態(tài)碼應答中,需要帶一個很重要的字段。返回結(jié)果針對不同操作,服務器向用戶返回的結(jié)果應該符合以下規(guī)范。如果狀態(tài)碼是,就應該向用戶返回出錯信息。 什么是 RESTful 什么是REST REST(英文:Representational State Transfer,又稱具象狀態(tài)傳輸)是Roy Thomas Fielding博士于2000年在他的博士論文 中提出來的一種...

    printempw 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<