SAP資格過去問ならSAPnavi

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

SAP過去問 (SAP Exam)

The POST Method

意味

メソッドIF_REST_RESOURCE〜POSTは、タイプCarの単一のエンティティを作成するために使用されます。

例:

POSTコマンドを使用したURIhttp :// myhost:4711 / sap / bc / rest_cars / Carは、ハンドラークラスCL_REST_SAMPLE_CARSのメソッドIF_REST_RESOURCE〜POSTへの呼び出しをトリガーします(「 ABAPプロセッサクラスのアタッチ」のセクションを参照)。

POSTのHTTPボディは次のようになります。

            <?xml version="1.0" encoding="utf-8"?><asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0"><asx:values><CAR><MODEL_NAME>Golf New</MODEL_NAME><MANU_ID>1</MANU_ID><PRICE>18599.98</PRICE><CURRENCY>EUR</CURRENCY><MODEL_YEAR>2012</MODEL_YEAR> </CAR></asx:values></asx:abap>         

これは、Carエンティティリソースを作成するためのPOSTメソッドの実装です。

            method if_rest_resource~post....  lo_entity = mo_request->get_entity( ).  lv_xstr = lo_entity->get_binary_data( ).  call transformation id    source xml lv_xstr    result car = ls_db_car_in.  if ls_db_car_in is initial.    mo_response->set_status( cl_rest_status_code=>gc_client_error_bad_request ).    return.  endif.  get time stamp field lv_updated.  ls_db_car_in-update_timestamp = lv_updated.  select max( id ) from r_car into ls_db_car_in-id.  add 1 to ls_db_car_in-id.  insert r_car from ls_db_car_in.  if sy-subrc <> 0.    mo_response->set_status( cl_rest_status_code=>gc_server_error_internal ).    return.  endif.  call transformation id    source dealer = ls_db_car_in    result xml lv_xstr.  if sy-subrc <> 0.    mo_response->set_status( cl_rest_status_code=>gc_server_error_internal ).    return.  endif.  lo_entity = mo_response->create_entity( ).  lo_entity->set_binary_data( lv_xstr ).  ls_etag-weak = abap_true.  ls_etag-tag = get_etag( lv_updated ).  if ls_etag is initial.    rollback work.    mo_response->set_status( cl_rest_status_code=>gc_server_error_internal ).    return.  endif.  mo_response->set_etag( ls_etag ).  mo_response->set_status( cl_rest_status_code=>gc_success_created ).endmethod.         

  • URIは単一のリソースを表すものではなく、新しいリソースを作成するためにリソースのコレクションに割り当てられるURIです。

  • リクエストオブジェクトMO_REQUESTで提供されたデータは(単にABAP ID変換によって)逆シリアル化され、データベースの挿入は新しいIDの生成後に行われ、新しいETagヘッダーがレスポンスに設定されます。

  • GETの例のように、メンバーMO_RESPONSEは、POSTメソッドが呼び出される前にライブラリによってすでに作成されています。

  • 新しく作成されたリソースデータは、HTTPボディに設定されます。

  • 応答コードHTTP201(「作成済み」)が設定されます。

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