Liberty SPI で REST Handler フレームワークを使用して、新規 REST エンドポイントを公開できます。
このタスクについて
REST Handler フレームワークは、Liberty エクステンダーが新規 REST エンドポイントを公開するときに使用するためのものです。1 つの OSGI コンポーネント内で、またはコンポーネントのセット内で、REST エンドポイントを公開できます。
手順
- OSGi コンポーネントを作成します。そのコンポーネントでは、/ibm/api に付加されるサブルートを listen するものとしてコンポーネント自体を登録し、
com.ibm.wsspi.rest.handler.RESTHandler インターフェースを実装するようにします。以下に例を示します。
@Component(service = { RESTHandler.class },
configurationPolicy = ConfigurationPolicy.IGNORE,
immediate = true,
property = { "service.vendor=IBM",
RESTHandler.PROPERTY_REST_HANDLER_ROOT + "=/myTest/abc" })
public class RESTHANDLERTest1 implements RESTHandler {
...
- このコンポーネントを、拡張ユーザー・フィーチャーの一部である OSGi バンドルにパッケージします。
- フィーチャーには、次のようにして OSGi サブシステム・コンテンツを必ず含めます。
com.ibm.websphere.appserver.restHandler-1.0; type="osgi.subsystem.feature"
- server.xml ファイルで SSL 証明書を構成します。
- server.xml ファイルでユーザーまたはグループを管理者ロールに構成します。
注: 非管理者ユーザーは、REST ハンドラー定義で OSGi プロパティー com.ibm.wsspi.rest.handler.RESTHandler.PROPERTY_REST_HANDLER_CUSTOM_SECURITY が true に設定されていれば、REST エンドポイントにアクセスできます。
- フィーチャーを開始します。
フィーチャーを開始すると、REST Handler フレームワークが開始し、OSGi コンポーネントが登録されます。
フィーチャーが開始した後、https://<host>:<https_port>/ibm/api/myTest/abc を呼び出すことができます。