有没有一个工具可以将描述REST服务的Java文件作为参数,并从中生成wadl文件。
发布于 2013-02-07 10:00:38
我也遇到了同样的问题:正在使用RESTeasy,想要找到一种自动生成WADL的方法。
做了一些研究,得出了下面的解决方案。
1.将此代码添加到您的pom.xml
<build>
<plugins>
<plugin>
<groupId>com.sun.jersey.contribs</groupId>
<artifactId>maven-wadl-plugin</artifactId>
<version>1.17</version>
<executions>
<execution>
<id>generate</id>
<goals>
<goal>generate</goal>
</goals>
<phase>${javadoc-phase}</phase>
</execution>
</executions>
<configuration>
<wadlFile>${project.build.outputDirectory}/application.wadl
</wadlFile>
<formatWadlFile>true</formatWadlFile>
<baseUri>http://example.com:8080/rest</baseUri>
<packagesResourceConfig>
<param>com.example.rs.resource</param>
</packagesResourceConfig>
<wadlGenerators>
<wadlGeneratorDescription>
<className>com.sun.jersey.server.wadl.generators.WadlGeneratorApplicationDoc
</className>
<properties>
<property>
<name>applicationDocsFile</name>
<value>${basedir}/src/main/doc/application-doc.xml</value>
</property>
</properties>
</wadlGeneratorDescription>
<wadlGeneratorDescription>
<className>com.sun.jersey.server.wadl.generators.WadlGeneratorGrammarsSupport
</className>
<properties>
<property>
<name>grammarsFile</name>
<value>${basedir}/src/main/doc/application-grammars.xml</value>
</property>
</properties>
</wadlGeneratorDescription>
</wadlGenerators>
</configuration>
</plugin>
</plugins>
</build>注意buildUri和packagesResourceConfig元素。您必须更改它们以反映项目的配置。您可能还想更改插件的版本(我使用的是1.17)。
2.创建/doc文件夹并添加一些文件。
创建src/main/doc/文件夹并创建下面的两个文件。
文件:application-doc.xml
内容:
<?xml version="1.0" encoding="UTF-8"?>
<applicationDocs targetNamespace="http://wadl.dev.java.net/2009/02">
<doc xml:lang="en" title="A message in the WADL">This is added to the start of the generated application.wadl</doc>
</applicationDocs>文件:application-grammars.xml
内容:
<?xml version="1.0" encoding="UTF-8" ?>
<grammars xmlns="http://wadl.dev.java.net/2009/02" />3.运行maven命令。
进入项目文件夹,运行以下命令:
$ mvn compile com.sun.jersey.contribs:maven-wadl-plugin:generate应该生成文件\target\classes\application.wadl ( WADL本身)和\target\classes\xsd0.xsd (资源的模式-由application.wadl使用)。
按您的意愿编辑和使用它们。
附注:请记住,这是maven-wadl-plugin的一个非常简单的用法。它可以做更多的事情。要更好地了解它,请参考另一个答案中提到的zip文件(由Pavel Bucek提供)。
发布于 2012-05-10 19:35:57
可以,请参阅Jersey samples中的gerenate-wadl 1示例(查找maven-wadl-plugin)。
1
https://stackoverflow.com/questions/9486835
复制相似问题