WADL 生成工具1. 将其添加到您的:pom.xml2. 创建一个 /doc 文件夹并添加一些文件。3. 运行 maven 命令。

2022-09-03 01:23:29

有没有一个工具可以采用Java文件来描述REST服务作为参数,并从中生成一个wadl文件。


答案 1

我遇到了同样的问题:正在使用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>

注意 和 元素。您必须更改它们以反映项目的配置。您可能还想更改插件的版本(我使用的是1.17)。buildUripackagesResourceConfig

2. 创建一个 /doc 文件夹并添加一些文件。

创建文件夹并创建以下两个文件。src/main/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>

文件:应用程序语法.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

应该生成文件(WADL 本身)和(资源的架构 - 它由 application.wadl 使用)。\target\classes\application.wadl\target\classes\xsd0.xsd

根据需要编辑和使用它们。

PS.:请记住,这是maven-wadl-plugin的非常简单的使用。它可以做更多的事情。为了更好地了解它,请参阅另一个答案中提到的zip文件(由Pavel Bucek提供)。


答案 2

是的,请参阅泽西岛样本中的 gerenate-wadl [1] 样本(查找 maven-wadl-plugin)。

[1] http://search.maven.org/remotecontent?filepath=com/sun/jersey/samples/generate-wadl/1.12/generate-wadl-1.12-project.zip