我用Java Jersey(和JAXB)编写了一个相当广泛的REST API。我也使用维基书写了文档,但这是一个完全手动的过程,非常容易出错,特别是当我们需要进行修改时,人们往往会忘记更新维基。
从观察其他大多数REST API来看,它们也是手动创建其文档。但我想知道是否有好的解决方案。
需要为每个端点记录的内容包括:
- 服务名称
- 类别
- URI
- 参数
- 参数类型
- 响应类型
- 响应类型模式(XSD)
- 示例请求和响应
- 请求类型(Get/Put/Post/Delete)
- 描述
- 可能返回的错误代码
然后当然还有一些全局通用的东西,比如:
- 安全性
- REST概述
- 错误处理
- 等等
这些通用的东西描述一次就可以了,不需要自动化,但对于Web服务方法本身,自动化似乎非常有必要。
我考虑过使用注解,并编写一个生成XML的小程序,然后使用XSLT生成实际的HTML文档。使用自定义的XDoclet是否更合理?