English 中文(简体)
从Python生成RESTful Web服务文档。[关闭]
原标题:
  • 时间:2008-11-19 00:43:43
  •  标签:

我们不允许寻求推荐书籍、工具、软件库等内容的问题。您可以编辑问题,以便回答基于事实和引文的问题。

Closed 5 years ago.

我想为用Python编写的RESTful web服务API生成文档。理想情况下,它应该像Yahoo的RESTful web服务文档一样。有没有人有任何想法或参考资料?

问题回答

Sphinx项目(www.sphinx-doc.org)是Python文档中最先进的技术。它非常强大和灵活...因此有点令人困惑。尽管如此,我仍认为它是你最好的选择。

在他们的网站上有优秀的文档,教你如何设置文档源文件并将它们构建成最终的 HTML 文档。你应该感兴趣的部分是它的文档字符串系统,这是我假定你为处理 REST 请求的方法所做的。请注意,它不会像魔法一样解释正在发生的事情,但它会带来所有命名元素及其参数(如果适用),并为你放入适当的文档提供良好的框架。

假设您在名为 restapi.py 的模块中具有所有 REST 功能,并且它只是在您项目的 src 目录中,您需要做两件事才能使 Sphinx 自动生成文档:

首先,在conf.py中包括autodoc扩展,并将src目录添加到Sphinx的路径中:

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/ -- 此外,还有一个xslt可以将wadl转换为html -- http://www.mnot.net/webdesc/

他们使用 Yahoo REST API 作为例子。

听起来你似乎不是在制作REST API,而只是一个RPC。通常没有简单的自动方式来组装REST API,这主要应该是你的媒体类型的描述。

如果你的意思是你想要一个东西来汇集服务中所有的URI并将它们放入一个API文档中,那并不是REST,因为URI与资源之间都紧密耦合。





相关问题
热门标签