我可以使用RESTeasy获取application.wadl文件吗?

我需要为RESTful服务获取WADL文件。 我知道如果使用泽西,它可以作为http://localhost:8080/application.wadl 。 但我使用RESTeasy。

我可以在我的框架案例中做同样的事情吗?

最新版本:

引用第49章.RESTEasy WADL支持 :

第49章.RESTEasy WADL支持

49.1。 RESTEasy WADL支持Servlet容器
49.2。 RESTEasy WADL支持Sun JDK HTTP Server
49.3。 RESTEasy WADL支持Netty Container
49.4。 RESTEasy WADL支持Undertow容器

RESTEasy有自己的支持来为其资源生成WADL,它支持几个不同的容器。 以下文本将向您展示如何在不同的容器中使用此function。

49.1。 RESTEasy WADL支持Servlet容器

RESTEasy WADL使用ResteasyWadlServlet来支持servlet容器。 它可以注册到web.xml以启用WADLfunction。 这是一个在web.xml显示ResteasyWadlServlet用法的ResteasyWadlServlet

  RESTEasy WADL org.jboss.resteasy.wadl.ResteasyWadlServlet   RESTEasy WADL /application.xml  

web.xml中的上述配置显示了如何启用ResteasyWadlServlet并将其映射到/application.xml 。 然后可以从配置的URL访问WADL:

 /application.xml 

旧版本的解决方法

有一个解决方法:由泽西人员称为maven-wadl-plugin的maven插件,也可以为使用RESTEasy编码的服务生成WADL。

以下是如何使用它。

1.将其添加到您的pom.xml

    com.sun.jersey.contribs maven-wadl-plugin 1.17   generate  generate  ${javadoc-phase}    ${project.build.outputDirectory}/application.wadl  true http://example.com:8080/rest  com.example.rs.resource    com.sun.jersey.server.wadl.generators.WadlGeneratorApplicationDoc    applicationDocsFile ${basedir}/src/main/doc/application-doc.xml     com.sun.jersey.server.wadl.generators.WadlGeneratorGrammarsSupport    grammarsFile ${basedir}/src/main/doc/application-grammars.xml         

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

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

创建src/main/doc/文件夹并在下面创建两个文件。

文件: application-doc.xml

内容:

   This is added to the start of the generated application.wadl  

文件: application-grammars.xml

内容:

   

3.运行maven命令。

转到项目文件夹并运行以下命令:

 $ mvn compile com.sun.jersey.contribs:maven-wadl-plugin:generate 

应该生成files \target\classes\application.wadl (WADL本身)和\target\classes\xsd0.xsd (资源的模式 – 它由application.wadl使用)。

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

PS。:请记住,这是maven-wadl-plugin的一个非常简单的用法。 它可以做更多。 要更好地了解它,请参阅http://search.maven.org/remotecontent?filepath=com/sun/jersey/samples/generate-wadl/1.12/generate-wadl-1.12-project.zip中的zip文件。

RESTeasy中的WADL生成是一项尚未实现的function。 如果你想要它去投票。

https://issues.jboss.org/browse/RESTEASY-166

请参阅RESTEasy WADL支持 (3.1.0)。 下面的剪辑是从那里复制的

  RESTEasy WADL org.jboss.resteasy.wadl.ResteasyWadlServlet   RESTEasy WADL /application.xml  

这使用ResteasyWadlServlet并将在/application.xml访问WADL。

注意 :Rex和Jaskirat之前已经提到RESTEASY-166用于管理此function的实现。 看来这是在3.0.14完成的。

我们可以在maven项目的帮助下用POM.XML生成一个wadl

https://issues.jboss.org/browse/RESTEASY-166查看这里的评论.. !!