JAX-RSアダプタ

RESTfulウェブサービス で使用するための以下のアダプタを提供する。

モジュール一覧

<!-- jacksonアダプタを使う場合 -->
<dependency>
  <groupId>com.nablarch.integration</groupId>
  <artifactId>nablarch-jackson-adaptor</artifactId>
</dependency>

<!-- Jersey用アダプタを使う場合 -->
<dependency>
  <groupId>com.nablarch.integration</groupId>
  <artifactId>nablarch-jersey-adaptor</artifactId>
</dependency>

<!-- RESTEasy用アダプタを使う場合 -->
<dependency>
  <groupId>com.nablarch.integration</groupId>
  <artifactId>nablarch-resteasy-adaptor</artifactId>
</dependency>

ちなみに

Jacksonのバージョン2.10.3を使用してテストを行っている。 バージョンを変更する場合は、プロジェクト側でテストを行い問題ないことを確認すること。

ちなみに

Jackson1系ライブラリの脆弱性対応が行われなくなったため、Nablarch5u16よりJackson1系のサポートを廃止した。 Jackson1系を使用していた場合はJackson2系へ移行すること。

【参考情報】

Jersey環境下でRESTfulウェブサービスを利用する

ウェブアプリケーションサーバにバンドルされている JAX-RS(外部サイト、英語) の実装が、 Jersey(外部サイト、英語) の場合には、Jersey用のアダプタを使用する。

以下にJersey用アダプタの適用方法を示す。

JaxRsMethodBinderFactory#handlerList に対して、Jersey用のハンドラを構築するファクトリクラス(JerseyJaxRsHandlerListFactory) をファクトリインジェクションする。これにより、Jersey用の以下のハンドラ構成が自動的に設定される。

<component name="packageMapping" class="nablarch.integration.router.RoutesMapping">
  <property name="methodBinderFactory">
    <component class="nablarch.fw.jaxrs.JaxRsMethodBinderFactory">
      <property name="handlerList">
        <!-- handlerListプロパティにJerseyのハンドラキューをファクトリインジェクションする -->
        <component class="nablarch.integration.jaxrs.jersey.JerseyJaxRsHandlerListFactory"/>
      </property>
    </component>
  </property>

  <!-- 上記以外のプロパティは省略 -->
</component>

ちなみに

使用するウェブアプリケーションサーバに Jackson(外部サイト、英語) が バンドルされていない場合は、Jacksonのモジュールをアプリケーションモジュールとセットでデプロイすること。

RESTEasy環境下でRESTfulウェブサービスを利用する

ウェブアプリケーションサーバにバンドルされている JAX-RS(外部サイト、英語) の実装が、 RESTEasy(外部サイト、英語) の場合には、RESTEasy用のアダプタを使用する。

以下にRESTEasy用アダプタの適用方法を示す。

JaxRsMethodBinderFactory#handlerList に対して、RESTEasy用のハンドラを構築するファクトリクラス(ResteasyJaxRsHandlerListFactory) をファクトリインジェクションする。これにより、RESTEasy用の以下のハンドラ構成が自動的に設定される。

<component name="packageMapping" class="nablarch.integration.router.RoutesMapping">
  <property name="methodBinderFactory">
    <component class="nablarch.fw.jaxrs.JaxRsMethodBinderFactory">
      <property name="handlerList">
        <!-- handlerListプロパティにRESTEasyのハンドラキューをファクトリインジェクションする -->
        <component class="nablarch.integration.jaxrs.resteasy.ResteasyJaxRsHandlerListFactory"/>
      </property>
    </component>
  </property>

  <!-- 上記以外のプロパティは省略 -->
</component>

ちなみに

使用するウェブアプリケーションサーバに Jackson(外部サイト、英語) が バンドルされていない場合は、Jacksonのモジュールをアプリケーションモジュールとセットでデプロイすること。

各環境下で利用するボディコンバータを変更(追加)したい

プロジェクトで対応すべきMIMEが増えた場合には、 JaxRsHandlerListFactory を実装し対応する。

実装方法は、本アダプタ (JerseyJaxRsHandlerListFactoryResteasyJaxRsHandlerListFactory) を参考にすると良い。