我需要获取RESTful服务的WADL文件。我知道如果使用运动衫,它可以作为提供http://localhost:8080/application.wadl
。但是我使用RESTeasy。
我可以在框架案例中做同样的事情吗?
引用第49章。RESTEasy
WADL支持
:
Chapter 49. RESTEasy WADL支持
49.1。RESTEasy
WADL支持Servlet容器
49.2。对Sun JDK HTTP Server
49.3的RESTEasy
WADL支持。RESTEasy
WADL对Netty Container
49.4的支持
。RESTEasy
WADL支持Undertow容器RESTEasy拥有自己的支持来为其资源生成WADL,并且它支持几种不同的容器。以下文本将向您展示如何在不同的容器中使用此功能。
49.1。RESTEasy WADL支持Servlet容器
RESTEasy
WADL用于ResteasyWadlServlet
支持servlet容器。可以注册web.xml
启用WADL功能。这是显示ResteasyWadlServlet
in
用法的示例web.xml
:
> <servlet>
> <servlet-name>RESTEasy WADL</servlet-name>
> <servlet-class>org.jboss.resteasy.wadl.ResteasyWadlServlet</servlet-
> class>
> </servlet>
>
> <servlet-mapping>
> <servlet-name>RESTEasy WADL</servlet-name>
> <url-pattern>/application.xml</url-pattern>
> </servlet-mapping>
中的先前配置
web.xml
显示了如何启用ResteasyWadlServlet
它并将其映射到/application.xml
。然后可以从配置的URL访问WADL:/application.xml
有一种解决方法:maven-wadl-plugin
球衣人调用的maven插件也可以为使用RESTEasy编码的服务生成WADL。
这是使用方法。
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>
注意baseUri
和packagesResourceConfig
元素。您必须更改它们以反映项目的配置。您可能还想更改插件的版本(我使用的是1.17)。
创建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" />
转到项目文件夹并运行以下命令:
$ mvn compile com.sun.jersey.contribs:maven-wadl-plugin:generate
应该生成文件\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文件。
问题内容: 使用Apache POI时,我(以编程方式)从MS Word文件获取的字符串与使用MS Word打开文件时看到的文本不同。 使用以下代码时: 输出是一行,其中包含许多“无效”字符(是,“框”)和许多不需要的字符串,例如“ ”,“ ”(“#”为数字),“ ”等。 以下代码“修复”了单行问题,但保留了所有无效字符和不需要的文本: 我不知道我是否使用错误的方法来提取文本,但这就是我在查看PO
问题内容: 我有一个带有许多子元素的React(15.5.4)组件,其中一些是HTML元素,另一些是其他React组件。 我正在使用服务器渲染,并且在服务器和客户端上需要相同的行为。客户将使用React的生产版本。 我需要遍历子级并确定一种特定类型的React组件。所以我首先想到的是迭代使用并寻找组件名称。 似乎并且不存在。 现在,存在,它可以是一个字符串(对于HTML元素),也可以是一个函数(对
我可以用这个条件对象来wait/notify/notifyall和synchronized方法吗? 还是坚持带锁的组合更好? 此外:
问题内容: 使用bcp时如何使用长查询指定输入sql文件?我尝试使用该选项,但它一直抱怨没有任何其他信息的命令行错误。这可能吗? 问题答案: 就我而言,BCP实用程序仅支持直接写入命令行的Transact-SQL查询。前任: bcp“从AdventureWorks.Sales.Currency中选择名称” queryout Currency.Name.dat -T -c 根据其参考,“-i”选项:
问题内容: 如果我有这个: 如果可能的话,如何在不实际调用方法的情况下获得对f.bar的引用? 编辑添加:我想做的是编写一个对f的成员进行迭代并对其执行某些操作的函数(不重要)。属性让我感到震惊,因为仅在getattr()中命名它们会调用其__get __()方法。 问题答案: (下图)在给定对象的中查找,如果存在则返回关联的值。如果不是其中的关键,则搜索对象的MRO 。如果找不到密钥,则引发。