Python で記述された RESTful Web サービス API のドキュメントを生成したいと考えています。理想的には、Yahoo の RESTful Web サービス ドキュメントのようになります。誰にもアイデアや参考文献はありますか?
3 に答える
Sphinx プロジェクト ( www.sphinx-doc.org ) は、最新の Python ドキュメントです。それは本当に強力で柔軟性があります...そのため、やや混乱します。それでも、私はそれがあなたの最善の策だと思います。
彼らのサイトには、ドキュメント ソース ファイルの設定方法と、それらを HTML などの完成したドキュメントに組み込むプロセスに関する優れたドキュメントがあります。興味深い部分は、Python ソースから docstring を組み込むシステムです。これは、REST 要求を処理するメソッドに対して行っていることを前提としています。これは何が起こっているかを魔法のように解釈するのではなく、すべての名前付き要素とその引数 (適切な場合) をもたらし、適切なドキュメントに入れるための優れたフレームワークを提供することに注意してください。
という名前のモジュールにすべての REST 機能がrestapi.py
あり、それが単にsrc
プロジェクトのディレクトリにあると仮定すると、Sphinx でドキュメントを自動的に生成するには、次の 2 つのことを行う必要があります。
まず、autodoc 拡張機能を含め、そのsrc
ディレクトリを の Sphinx のパスに追加しますconf.py
。
import sys, os
sys.path.append(os.path.abspath('sphinxext'))
extensions = ['sphinx.ext.autodoc']
sys.path.append(os.path.abspath('src'))
次にスフィンクスで
.. automodule:: restapi
:members:
注: この情報は、Sphinx の「最初のステップ」ドキュメントから、並べ替えを最小限に抑えて直接取得したものです。これがあなたのニーズに役立つと思われる場合は、そのドキュメントとサイトの残りの部分を見てください.
残念ながら、Pythonで特に役立つ具体的なことは何もわかりません。ただし、参考として、JAX-RS Java仕様が使用しているWADL仕様でピークに達する可能性があります-https://wadl。 dev.java.net/-さらに、wadlをhtmlに変換するxsltがあります-http ://www.mnot.net/webdesc/
例としてyahooRESTAPIを使用します。
REST API ではなく、単に RPC を作成しているようです。通常、REST API をアセンブルする簡単で自動化された方法はありません。REST API は、主にメディア タイプの記述である必要があります。
サービス内のすべての URI をまとめて API ドキュメントに入れる何かが必要な場合、URI からリソースへのすべての結合により、それは REST ではありません。