意味
マルチパートリクエスト処理のハンドラークラスを有効にするには、RESTアプリケーションでこの種の処理に使用されるURIにアタッチする必要があります。
-
ハンドラークラスの場合、ライブラリークラスCL_REST_HTTP_HANDLERから継承するクラスを作成します。
-
クラスCL_REST_HTTP_HANDLERは、メソッドGET_ROOT_HANDLERを含むインターフェースIF_REST_APPLICATIONを提供します。このメソッドは、RESTアプリケーションのマルチパート処理を提供するリソースURIを、1つまたは複数のABAP処理クラスにアタッチします。
これは、URIテンプレート/mpをCL_REST_SAMPLE_CARS_MPという名前のハンドラークラスにアタッチするメソッドIF_REST_APPLICATION〜GET_ROOT_HANDLERのコーディングです。
このコードは、RESTライブラリルータークラスCL_REST_ROUTERのインスタンスを作成します。呼び出し処理中に、RESTライブラリは提供されたURIをアプリケーションクラスで指定されたテンプレートと照合します。
一致すると、リクエストごとに一致するクラスの独自のインスタンスが作成されます。インスタンス化されるクラスの選択は、ATTACHメソッドのURI属性IV_TEMPLATEによって制御されます。
URIのルート部分は、ICFを使用して指定されたサービスURIによって定義され、完全なURIは、サービスURIとリソースパスの連結です。
現在の例では、RESTアプリケーションで使用される2つのリソースクラスがあります。
-
タイプCarsのリソースで操作を実行しているクラス、および
-
RESTアプリケーションへのマルチパートリクエストを処理するクラス。
アプリケーションのエンティティに対する操作は、クラスCL_REST_SAMPLE_CARSによって実装されます。マルチパート処理クラスCL_REST_SAMPLE_CARS_MPは、最初のクラスを使用して、着信マルチパート要求に含まれる各要求を処理します。