我可以使用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
注意baseUri
和packagesResourceConfig
元素。 您必须更改它们以反映项目的配置。 您可能还想更改插件的版本(我使用的是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。 如果你想要它去投票。
请参阅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