11

RESTful サービス用の WADL ファイルを取得する必要があります。ジャージを使用する場合は、として利用できることを知っていますhttp://localhost:8080/application.wadl。しかし、RESTeasy を使用しています。

フレームワークのケースで同じことを行うことはできますか?

4

4 に答える 4

11

最新バージョン:

第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.xmlWADL機能を有効にするために登録することができます。ResteasyWadlServletinの使用法を示す例を次に示し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 プラグインです。

使用方法は次のとおりです。

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>

baseUriandpackagesResourceConfig要素に注意してください。プロジェクトの構成を反映するように変更する必要があります。プラグインのバージョンを変更することもできます (私は 1.17 を使用しました)。

2. /doc フォルダーを作成し、いくつかのファイルを追加します。

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" />

3. maven コマンドを実行します。

プロジェクト フォルダーに移動し、次のコマンドを実行します。

$ 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 ファイルを参照してください。

于 2013-02-07T02:29:21.937 に答える
9

RESTeasy での WADL 生成は、まだ実装されていない機能です。欲しい方は投票に行ってください。

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

于 2011-05-26T14:35:10.000 に答える
4

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 で完成したようです。

于 2017-01-04T19:21:41.373 に答える
2

POM.XML を使用した Maven プロジェクトの助けを借りて wadl を生成できます。

https://issues.jboss.org/browse/RESTEASY-166ここのコメントをチェック..!!

于 2013-03-14T09:11:08.460 に答える