SAP資格過去問ならSAPnavi

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

SAP過去問 (SAP Exam)

Example: Feed Document

意味

ATOMサービスとして機能するRESTアプリケーションを使用する場合、CL_REST_RESOURCEから独自のクラスを派生させ、メソッドIF_REST_RESOURCE〜GETを再定義することにより、フィードドキュメント処理用のサービスを作成できます。これにより、ATOMフィードドキュメントを含むHTTPリクエストおよびレスポンスオブジェクトに簡単にアクセスできます。次の例は、タイプCarのエントリのフィードドキュメントを提供します。フィード構造の入力は、ヘルパーメソッドCREATE_FEEDにプッシュされます。ATOMライブラリクラスCL_ATOM_ERROR_PROVは、エラー情報をシリアル化するために使用されます。

            method if_rest_resource~get.  data:        ls_error type if_atom_types=>error_s,        lo_error_prov type ref to cl_atom_error_prov,        ls_feed type if_atom_types=>feed_s,        lo_feed_prov type ref to cl_atom_feed_prov.  ls_feed = create_feed( ).  " -> RFC 4287  if ls_feed is initial.    ls_error-id = cl_rest_status_code=>gc_client_error_not_found.    ls_error-longtext = 'No feed data found'.    create object lo_error_prov.    lo_error_prov->write_to( mo_response->create_entity( ) ).  " serialze error    mo_response->set_status( cl_rest_status_code=>gc_server_error_internal ).  else.    create object lo_feed_prov.    lo_feed_prov->set_feed( ls_feed ).    lo_feed_prov->write_to( mo_response->create_entity( ) ).   " serialize feed    mo_response->set_status( cl_rest_status_code=>gc_success_ok ).  endif.endmethod.         

  • ヘルパーメソッドCREATE_FEEDは、タイプIF_ATOM_TYPES=>FEED_Sの構造を入力します。構造のコンポーネントは、に従って定義および入力されますhttp://tools.ietf.org/html/rfc4287#section-4.1.1

  • データが入力されていない場合、タイプIF_ATOM_TYPES => ERROR_SのATOMエラーが作成され、WRITE_TOを使用してHTTPオブジェクトの本体にシリアル化されます。

  • フィードデータが正常に作成された場合(初期フィード構造ではないことで示されます)、フィードデータはフィードプロバイダーによるメソッドWRITE_TOによって新しいHTTP応答本文に設定されます。

これは、上記のABAPメソッド(Content-Type: application / atom + xml; type = feedを使用)によって提供されるシリアル化されたフィードドキュメントです。

            <?xml version="1.0" encoding="utf-8"?><atom:feed xmlns:atom="http://www.w3.org/2005/Atom">  <atom:id>tag:ldcigiq:rest:cars</atom:id>  <atom:link href="/sap/bc/rest_cars/atom/Cars?sap-client=100" rel="self" type="application/atom+xml"/>  <atom:title>Sample Car Database</atom:title>  <atom:updated>2012-10-22T15:48:54Z</atom:updated>  <atom:entry>    <atom:author>      <atom:name>john.doe</atom:name>      <atom:email>john.doe@sap.com</atom:email>    </atom:author>    <atom:category term="Car" label="Golf V"/>    <atom:content type="xhtml">      <asx:abap version="1.0" xmlns:asx="http://www.sap.com/abapxml">        <asx:values>          <CAR>            <MODEL_NAME>Golf V</MODEL_NAME>            <MANUFACTURER_NAME>Volkswagen AG</MANUFACTURER_NAME>            <PRICE>15899.99</PRICE>            <CURRENCY>EUR</CURRENCY>            <MODEL_YEAR>2010</MODEL_YEAR>          </CAR>        </asx:values>      </asx:abap>    </atom:content>    <atom:id>/sap/bc/rest_cars/atom/Cars/1</atom:id>    <atom:link href="/sap/bc/rest_cars/atom/Cars/1" rel="alternate" type="text/html" title="Golf V"/>    <atom:published>2012-10-22T14:03:24Z</atom:published>    <atom:summary type="html"><title>Volkswagen AG:Golf V</title></atom:summary>    <atom:title>Golf V</atom:title>    <atom:updated>2012-10-22T14:03:24Z</atom:updated>  </atom:entry>  ...</atom:feed>         

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