私が書いたFlask REST APIからREST APIドキュメントを自動生成するための素早い方法を探しています。誰もがこれを行うことができ、私はどのようにコードをマークアップするツールを知っていますか?Flaskで書かれたREST APIのドキュメントを自動生成するためのツールはありますか?
答えて
Sphinxをお勧めします。__doc__
としてドキュメントを追加し、autodoc
のSphinxモジュールでドキュメントを生成します(docs.python.orgでもSphinxを使用しています)。マークアップはreST
で、Markdown
と似ています。
例えば:
@app.route('/download/<int:id>')
def download_id(id):
'''This downloads a certain image specified by *id*'''
return ...
フラスコの拡張があります:flask-autodoc特別にエンドポイントのルートルールを解析し、自動ドキュメントについて。単純なHTMLドキュメントのページはこのようなものです
@app.route('/doc')
@auto.doc()
def documentation():
'''
return API documentation page
'''
return auto.html()
@app.route('/')
@auto.doc()
def welcome():
'''
Welcome API
'''
commit_hash = subprocess.check_output(["git", "rev-parse", "HEAD"])
commit_msg = subprocess.check_output(["git", "log", "-1", "--format=%s"])
date_time = subprocess.check_output(["git", "log", "-1", "--format=%cd"])
return "Welcome to VM Service Server. <br/>" \
"The last commit: %s<br/>Date: %s, <br>Hash: %s" % \
(commit_msg, date_time, commit_hash), 200
:あなたはドキュメントしたいAPIを指定するには、doc
デコレータを追加することができます
私はそれが一種の意見であることを認識していますが、フラスコオートドックから離れて人々に警告します。拡張は本当に不完全です。それは素晴らしいものから始まり、あなたが期待する方法を設定しますが、最終的な結果は明るくありません。ほとんどの人はスフィンクスのためにそれを放棄し、フラスコオートドックで数時間を無駄にするでしょう。 – melchoir55
30分前に私が見たことがあるのであれば... +1 – Zeb
フラスコオートドックが不完全な理由を詳しく説明できますか?私はそのドキュメントを素早く見て、Flask-RESTplusよりもはるかに気に入っていました。 – imolit
私は本当にのようなSwaggerそれがAPIを生成することができますので、コードにいくつかのデコレータとコメントを追加するだけでドキュメントを作成できます。利用可能なのはFlask Swaggerです。
from flask import Flask
from flask.ext.restful import Api
from flask_restful_swagger import swagger
app = Flask(__name__)
api = swagger.docs(Api(app), apiVersion='1', api_spec_url="/api/v1/spec")
class Unicorn(Resource):
"Describing unicorns"
@swagger.operation(
notes='some really good notes'
)
def get(self, todo_id):
...
次に、あなただけの(それが自動的に静的に必要な機能)/ API/V1 /スペックを訪問し、HTMLインターフェイスで、あなたの方法や注意事項を確認することができます。 JSONでAPIの説明をすべて取得し、それ以外の場合は解析することもできます。
- 1. swaggerまたは他のツールを使用してRest APIドキュメントを生成する
- 2. 残りのAPIドキュメントの自動生成
- 3. APIドキュメント生成ツール
- 4. symfonyからREST APIドキュメントを自動生成
- 5. 自動的にJavadocを更新するためのツールはありますか?
- 6. AZWファイルを生成するためのツールやプロジェクトはありますか?
- 7. タイムラインを作成するための優れたツールはありますか?
- 8. WSDLのようなREST Webサービスに関する文書を書くためのツールはありますか?
- 9. REST APIドキュメントをスワッガーするためのJavaクライアントコードを生成する方法
- 10. ClouderaヘルスチェックのためのREST APIはありますか?
- 11. REST APIドキュメントの生成
- 12. Anormパーサーコンビネータを自動的に生成するツールはありますか?
- 13. 文書にRest APIを定義するツールはありますか?
- 14. データベース構造を自動更新するためのツールまたはAPIがあります
- 15. Spring MVCコントローラからRAML経由でREST APIドキュメントを自動生成
- 16. Play 2.xのAPIドキュメントを生成するためのプラグインはありますか?
- 17. Visual Studioまたはプラグインに、バディークラスの検証を自動化するためのツールがありますか?
- 18. Eclipseボタンを自動的かつ順調に起動するためのツールはありますか?
- 19. ods/xlsx文書を生成するためのライブラリはありますか?
- 20. ソフトウェアの更新を自動化できるAPIまたはツールはありますか?
- 21. CWEB文書を編集するためのWindowsツール/エディタはありますか?
- 22. Webタスクを自動化するためのツールですか?
- 23. spring-mvc rest APIドキュメントのjavadocのようなツールですか?
- 24. リリース用のjsコンテンツを自動再生するツール/ユーティリティはありますか?
- 25. ルートのREST APIドキュメントの自動化
- 26. REST APIを使用してWSDLドキュメントのように生成する方法はありますか
- 27. F#コードを自動整理するためのツールがあります
- 28. xmlで書かれたrest-APIのユニットテスト
- 29. あなたの公開REST APIをテストするためにどのツールを使用しますか?
- 30. MesosのレプリケートログライブラリにアクセスするためのREST APIはありますか?
sphinxcontrib.autohttp.flask(http://pythonhosted.org/sphinxcontrib-httpdomain/#module-sphinxcontrib.autohttp.flask)というSphinxモジュールもあります。 –