3.2.5. JAX-RS および RESTEasy の変更

3.2.5.1. JAX-RS および RESTEasy の変更の設定

JBoss EAP 6 は自動的に RESTEasy を設定するため、手作業で設定する必要はありません。そのため、web.xml ファイルから既存の RESTEasy の設定をすべて削除し、次の 3 つのオプションの 1 つに置き換える必要があります。
  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 として指定する必要があることに注意してください。最後にフォワードスラッシュやアスタリスクを付けないようにしてください。
  2. 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 アノテーションを使用して設定されたアプリケーションパスを上書きすることもできます。
  3. 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 で使用できるようになります。

    注記

    このオプションを選択した場合、マッピングの追加のみが必要となります。対応するサーブレットを追加する必要はありません。対応するサーブレットはサーバーによって自動的に追加されるはずです。