SAP資格過去問ならSAPnavi

NoteやStripe決済で安全にSAP過去問を購入することができます。
領収書発行可能 / 即時入手可能

SAP過去問 (SAP Exam)

Attaching ABAP Processor Classes

手順

RESTサービスによって提供されるすべてのリソースURIは、URIテンプレートを介してABAP処理クラスに割り当てる必要があります。RESTサービスによって提供されるリソースにクラスを割り当てるには、固定数のURIテンプレートをABAPクラスにアタッチします。アタッチされたABAPクラスは、指定されたURIとRESTクライアントによって使用されるHTTPコマンドに基づいてリソースへのアクセスを実装します。この例では、リソースはタイプCarです。

ABAP RESTアプリケーションを作成する最も簡単な方法は、ライブラリクラスCL_REST_HTTP_HANDLERから派生したABAPクラスを実装することです。このクラスは、インターフェースIF_REST_APPLICATIONおよびIF_HTTP_EXTENSIONを実装します。最初のインターフェースは、RESTアプリケーションの処理クラスを識別するためにRESTフレームワークによって使用されます。2番目のインターフェースは、ICFフレームワークがHTTPREST要求を処理するために使用するために使用されます。

次の手順を実行します。

  • ABAPクラス(このチュートリアルではCL_REST_TEST_APPLICATIONという名前)を作成し、そのスーパークラスをCL_REST_HTTP_HANDLERに設定します。

  • クラスCL_REST_HTTP_HANDLERは、インターフェースメソッドIF_REST_APPLICATION〜GET_ROOT_HANDLERを提供します。このメソッドは、リソースURIテンプレートをRESTアプリケーションによって提供される処理クラスにアタッチします。

これは、このチュートリアルでプロセッサクラスをURIテンプレートにアタッチするためのメソッドIF_REST_APPLICATION〜GET_ROOT_HANDLERのコーディングです。

            method if_rest_application~get_root_handler.  data lo_handler type ref to cl_rest_router.  create object lo_handler.  lo_handler->attach( iv_template = '/Car/{ID:[1-9][0-9]*}' iv_handler_class = 'CL_REST_SAMPLE_CAR' ).  lo_handler->attach( iv_template = '/Cars' iv_handler_class = 'CL_REST_SAMPLE_CARS' ).  ro_root_handler = lo_handler.endmethod.         

  • このコードは、RESTライブラリルータークラスCL_REST_ROUTERのインスタンスを作成します。

  • いくつかのリソースURIテンプレートは、メソッドATTACHを介して、パラメータIV_HANDLER_CLASSで指定されたABAP処理クラスにアタッチされます。

    • CL_REST_SAMPLE_CAR

    • CL_REST_SAMPLE_CARS

  • リソーステンプレートは、パラメータIV_TEMPLATEを介して指定されます。このパラメータには、リソース識別テンプレート(ABAP正規表現構文を使用)が含まれていますが、RESTクライアントで使用される完全な呼び出しURIは含まれていません。URIのルート部分は、ICFを介して指定されたservice-URIによって決定されるため、完全な要求URIは、service-URIとリソース部分を連結したものです。

  • 処理クラスがアタッチされたルーティングインスタンスが返され、呼び出し処理中にRESTライブラリで使用できるようになります。

リソーステンプレート/Car/ {ID:[1-9] [0-9] *}は、Car型のリソースエンティティを1より大きい整数で識別します。つまり、URI位置で、正規式は次のようになります。配置されている場合、パス要素として1以上の整数値が期待されます。

リソース識別子は、例ではIDという名前の仮パラメーターを指定することにより、REST処理クラスで使用できるようになります。実際に呼び出されるメソッドは、クライアント要求中に使用されるHTTPメソッドによって異なり、このチュートリアルの後続のセクションで詳細に処理されます。現在サポートされているHTTPメソッドは、GET、POST、PUT、DELETE、HEAD、OPTIONSです。

リソーステンプレートリストに複数の一致がある場合、結果のセットは、RESTfulWebサービスの仕様JavaAPIに従ってソートされます(JAX-RSバージョン1.1を参照してください。http://download.oracle.com/otndocs/jcp/jaxrs-1.1-mrel-eval-oth-JSpec/)そしてソートされたリストの最初の一致が選択されます。

タイトルとURLをコピーしました