RESTful サービス用の WADL ファイルを取得する必要があります。ジャージを使用する場合は、として利用できることを知っていますhttp://localhost:8080/application.wadl
。しかし、RESTeasy を使用しています。
フレームワークのケースで同じことを行うことはできますか?
RESTful サービス用の WADL ファイルを取得する必要があります。ジャージを使用する場合は、として利用できることを知っていますhttp://localhost:8080/application.wadl
。しかし、RESTeasy を使用しています。
フレームワークのケースで同じことを行うことはできますか?
第49章を引用。RESTEasy WADLサポート:
第49章 RESTEasy WADL サポート
49.1.
サーブレット コンテナ49.2の RESTEasy WADL サポート。
Sun JDK HTTP Server 49.3の RESTEasy WADL サポート。Netty コンテナー49.4の RESTEasy WADL サポート。
Undertow コンテナーの RESTEasy WADL サポートRESTEasy には、そのリソースの WADL を生成するための独自のサポートがあり、いくつかの異なるコンテナーをサポートしています。次のテキストでは、さまざまなコンテナーでこの機能を使用する方法を示します。
49.1. サーブレット コンテナの RESTEasy WADL サポート
RESTEasy WADL は
ResteasyWadlServlet
、サーブレット コンテナーをサポートするために使用します。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
する方法を示しています 。そして、構成された URL から WADL にアクセスできます。ResteasyWadlServlet
/application.xml
/application.xml
maven-wadl-plugin
回避策があります。RESTEasy を使用してコーディングされたサービスの WADL を生成するためにも機能する jersey の人々によって呼び出される Maven プラグインです。
使用方法は次のとおりです。
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
andpackagesResourceConfig
要素に注意してください。プロジェクトの構成を反映するように変更する必要があります。プラグインのバージョンを変更することもできます (私は 1.17 を使用しました)。
src/main/doc/
フォルダを作成し、以下の 2 つのファイルを作成します。
ファイル: 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 ファイルを参照してください。
RESTeasy での WADL 生成は、まだ実装されていない機能です。欲しい方は投票に行ってください。
RESTEasy WADL サポート(3.1.0)を参照してください。以下の抜粋はそこからコピーされたものです
<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>
これにより、 が使用ResteasyWadlServlet
され、 で WADL にアクセスできるようになり/application.xml
ます。
注: Rex と Jaskirat は、この機能の実装を管理するためにRESTEASY-166が使用されたことを既に述べています。これは 3.0.14 で完成したようです。
POM.XML を使用した Maven プロジェクトの助けを借りて wadl を生成できます。
https://issues.jboss.org/browse/RESTEASY-166ここのコメントをチェック..!!