SAP資格過去問ならSAPnavi

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

SAP過去問 (SAP Exam)

Processing Entities

手順

エンティティの処理は、次の3つの基本的な部分で構成できます。

  • 単一のリクエストオブジェクトを逆シリアル化し、リクエストデータにアクセスします

  • リクエストを処理するRESTアプリケーションのハンドラークラスにリクエストをルーティングします

  • シングルレスポンスをマルチパートレスポンスオブジェクトに設定します

マルチパートリクエストに含まれるリクエストのリストへのアクセスは、インターフェイスIF_REST_MP_ENTITYのメソッドGET_ENTITIESによって提供されます。各リクエストへのアクセスを容易にするために、タイプCL_REST_HTTP_REQ_PROVのオブジェクトが、単一のリクエストを入力として作成されます。このオブジェクトにより、RESTアプリケーションは単一のリクエストの設定にアクセスできます。単一のリクエストは逆シリアル化され、リクエストオブジェクトへのアクセスはメソッドGET_REQUESTによって提供されます。

リクエストに対応するRESTアプリケーションが作成されます。IF_REST_HANDLERを実装するルータークラスオブジェクトは、メソッドGET_ROOT_HANDLERによって読み取られるRESTアプリケーションから読み取られます(「 RESTアプリケーション」のセクションを参照)。空の応答オブジェクトが作成され、要求プロバイダークラスからの要求オブジェクトとともにルーターのHANDLEメソッドに渡されます。

リクエストで指定されたリソースURIとHTTPメソッドが有効な場合、リクエストは正しいRESTアプリケーションのハンドラークラスメソッドにルーティングされます。

アプリケーション処理から戻った後、IF_REST_MP_ENTITY〜CREATE_ENTITYメソッドを使用してマルチパート応答に新しいHTTP応答が作成されます。以前に渡された応答オブジェクトは、アプリケーションからの応答で満たされます。タイプCL_REST_HTTP_RESP_PROVのオブジェクトが作成され、WRITE_TOメソッドを介して、新しく作成されたマルチパート応答の単一応答オブジェクトに書き込まれます。

            method if_rest_resource~post.  field-symbols:                 <lo_entity> type ref to if_rest_entity.  data:        lo_resp_prov type ref to cl_rest_http_resp_prov,        lo_rest_entity_resp type ref to if_rest_entity,        lo_router type ref to if_rest_handler,        lo_appl type ref to if_rest_application,        lo_request type ref to if_rest_request,        lo_req_prov type ref to cl_rest_http_req_prov,        lt_entities type if_rest_mp_entity=>rest_entity_t....  lt_entities = lo_mp_entity_req->get_entities( ).  loop at lt_entities assigning <lo_entity>.    create object lo_req_prov      exporting        io_entity = <lo_entity>.    lo_request = lo_req_prov->get_request( ).    create object lo_appl type cl_rest_sample_cars_appl.    lo_router = lo_appl->get_root_handler( ).    lo_router->handle(      io_request = lo_request      io_response = lo_response ).    lo_rest_entity_resp = lo_mp_entity->create_entity( ).    create object lo_resp_prov.    lo_resp_prov->set_response( lo_response ).    lo_resp_prov->write_to( lo_rest_entity_resp ).  endloop.  mo_response->set_status( cl_rest_status_code=>gc_success_accepted ).  mo_response->set_reason( if_http_status=>reason_202 ).endmethod.         

ループ内では、各RESTエンティティは、単一のリクエストによって渡されるかのように、RESTリクエストのように扱われます。単一リクエストのRESTアプリケーションハンドラークラスが再利用されます。最後に、全体的な応答は、マルチパート要求のMO_RESPONSEオブジェクトに設定されます。応答コードは202(「承認済み」)です。

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