2012-01-03 75 views
7

我想找到一种方法来从Java代码(WADL或HTML)中生成良好的REST API文档 - 基于JAXB,JAX-RS注释和java doc注释(无doclet请)。Resteasy - 从Javadoc和Annotations生成REST文档

这里是我的项目环境

  • 春天,没有XML只有注解
  • REST的容易,因为REST提供商
  • JAXB和JAX-RS注解
  • MIME类型的JSON
  • 休息API

回答

14

尝试Enunciate

Enunciate是一个显着增强Java Web服务API的引擎。 很简单。您使用标准Java技术开发Web服务API,并将Enunciate附加到构建过程。突然,您的Web服务API拥有一些非常令人印象深刻的功能:

  • 您的服务的完整HTML文档,从您的JavaDocs中抓取。
  • 想要与您的API接口的开发人员的客户端库(例如Java,.NET,iPhone,Ruby,Flex,AJAX,GWT等)。
  • 接口定义文件(例如WSDL,WADL,XML,模式等)
  • 等等
+1

在网路上找不到它。任何人? – 2015-06-15 12:28:51

+1

可以在https://github.com/stoicflame/enunciate找到 – vim 2015-07-09 13:48:54

1

Java编译器API允许您编写解析Java源代码并执行自己的处理的代码。

以下是instructional article,其中包含有关解析注释的信息。

我想你可以使用这些API提取你需要的原始信息。但是,这将产生语法事实 - REST URL和操作和参数,用户还可以从服务作者可以(应该)在Java Doc中提供的额外解释中受益。

完整的解决方案可能是解析注释和java文档,并结合两者。

+0

正确的....但我想有更多像maven插件,将为我处理这个 - 只有doc生成,没有客户端库或类似的东西。 – 2012-01-03 08:58:50

+0

我想我假设一个插件尚不存在,并建议如何写一个插件。我的建议只是使用JavaDoc。 – djna 2012-01-03 09:11:39

10

作为替代Enunciate,您也可以考虑MireDot。它从我们自己公司内部使用的工具发展而来,可以免费用于开源项目。它完全符合你的描述:它结合了jaxrs注释和现有的javadoc注释来生成一个rest api。它作为一个maven插件,你只需要添加到你的项目。 Jaxb注释在撰写时尚未得到支持,但该工具正在积极开发之中,我们根据建议/请求/反馈选择要实现的功能。

+1

刚刚尝试了MireDot,它真的很棒! – thermz 2013-10-18 15:47:47

+0

我已将MireDot与RestEasy结合使用,非常酷且易于配置 – 2014-04-09 23:27:23

+9

MireDot唯一的“问题”是所需的许可证密钥。每个artifactId一个...(即使是免费部分) – 2014-11-27 10:34:31