3.2.3. JAX-RS および RESTEasy の変更
3.2.3.1. JAX-RS および RESTEasy の変更の設定
JBoss Enterprise Application Platform 6 は自動的に RESTEasy を設定するため、手作業で設定する必要はありません。そのため、
web.xml
ファイルから既存の RESTEasy の設定をすべて削除し、次の 3 つのオプションの 1 つに置き換える必要があります。
- Subclass
javax.ws.rs.core.Application
および@ApplicationPath
annotation アノテーションの使用。これが最も簡単なオプションで、xml の設定が必要ありません。次のようにアプリケーションでjavax.ws.rs.core.Application
をサブクラス化し、 JAX-RS クラスを使用可能にするパスを用いてアノテーションを付けます。@ApplicationPath("/mypath") public class MyApplication extends Application { }
上記の例では、JAX-RS リソースはパス/MY_WEB_APP_CONTEXT/mypath/
で使用できるようになります。注記
パスは/mypath/*
ではなく/mypath
として指定する必要があることに注意してください。最後にフォワードスラッシュやアスタリスクがあってはなりません。 - サブクラス
javax.ws.rs.core.Application
および JAX-RS マッピングの設定にweb.xml
を使用する。@ApplicationPath
アノテーションを使用したくない場合でもjavax.ws.rs.core.Application
をサブクラス化する必要があります。サブクラス化した後にweb.xml
ファイルに JAX-RS マッピングを設定します。public class MyApplication extends Application { }
<servlet-mapping> <servlet-name>com.acme.MyApplication</servlet-name> <url-pattern>/hello/*</url-pattern> </servlet-mapping>
上記の例では、JAX-RS リソースはパス/MY_WEB_APP_CONTEXT/hello
で使用できるようになります。注記
この方法を使用して@ApplicationPath
アノテーションを使用して設定されたアプリケーションパスを上書きすることもできます。 web.xml
ファイルの変更Application
をサブクラス化したくない場合、次のようにweb.xml
ファイルで JAX-RS のマッピングを設定することが可能です。<servlet-mapping> <servlet-name>javax.ws.rs.core.Application</servlet-name> <url-pattern>/hello/*</url-pattern> </servlet-mapping>
上記の例では、JAX-RS リソースはパス/MY_WEB_APP_CONTEXT/hello
で使用できるようになります。注記
このオプションを選択した場合、マッピングの追加のみが必要となります。対応するサーブレットを追加する必要はありません。対応するサーブレットはサーバーによって自動的に追加されるはずです。