3.2.5. JAX-RS および RESTEasy の変更
3.2.5.1. JAX-RS および RESTEasy の変更の設定
JBoss EAP 6 は自動的に RESTEasy を設定するため、手作業で設定する必要はありません。そのため、
web.xml ファイルから既存の RESTEasy の設定をすべて削除し、次の 3 つのオプションの 1 つに置き換える必要があります。
javax.ws.rs.core.Applicationをサブクラス化し、@ApplicationPathアノテーションを使用します。これが最も簡単なオプションで、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をサブクラス化し、web.xmlファイルを使用して JAX-RS マッピングを設定します。@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で使用できるようになります。注記
このオプションを選択した場合、マッピングの追加のみが必要となります。対応するサーブレットを追加する必要はありません。対応するサーブレットはサーバーによって自動的に追加されるはずです。