SAP資格過去問ならSAPnavi

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

SAP過去問 (SAP Exam)

Examples: ATOM Entries

意味

ATOMサービスとして機能するRESTアプリケーションを使用する場合、独自のクラスがクラスCL_REST_RESOURCEから派生し、メソッドIF_REST_RESOURCE〜GETが再定義されます。これにより、ATOM情報の転送に使用されるREST要求および応答オブジェクトに簡単にアクセスできます。

この例は、クライアント提供のIDによって識別されるタイプCarのエントリを含むドキュメントを提供します。エントリ構造の実際の作成は、ヘルパーメソッドCREATE_ENITYにプッシュされます。

            method if_rest_resource~get.  data:        lv_id type i,        ls_entry type if_atom_types=>entry_s,        ls_error type if_atom_types=>error_s,        lo_error_prov type ref to cl_atom_error_prov,        lo_entry_prov type ref to cl_atom_entry_prov.  lv_id = mo_request->get_uri_attribute( iv_name = 'ID' ).  ls_entry = create_entry( lv_id ).    " -> RFC 4287  if ls_entry is not initial.    create object lo_entry_prov.    lo_entry_prov->set_entry( ls_entry ).    lo_entry_prov->write_to( mo_response->create_entity( ) ).    mo_response->set_status( cl_rest_status_code=>gc_success_ok ).  else.    ls_error-id = cl_rest_status_code=>gc_client_error_not_found.    ls_error-longtext = |No 'Car' entry found with ID '{ lv_id }'|.    create object lo_error_prov.    lo_error_prov->write_to( mo_response->create_entity( ) ).    mo_response->set_status( cl_rest_status_code=>gc_client_error_not_found ).  endif.endmethod.         

  • 要求されたエントリのIDは、RESTサービスで使用可能なURIテンプレートメカニズムを使用して渡されます( URIテンプレートを参照)。要求されたリソースエントリの識別値は、IDという名前のパラメータを使用して渡されます。

  • ヘルパーメソッドCREATE_ENTRYは、タイプIF_ATOM_TYPES=>ENTRY_Sの構造を入力します。構造コンポーネントは、で与えられたセマンティクスに従って定義および入力されますhttp://tools.ietf.org/html/rfc4287#section-4.1.2

  • 使用可能なデータがない場合、タイプIF_ATOM_TYPES => ERROR_SのATOMエラー戻りが作成され、WRITE_TOを使用して応答HTTPにシリアル化されます。

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

これは、上記のコード(コンテンツタイプ:application / atom + xml; type = entry)を使用してABAPメソッドによって提供されるシリアル化されたATOMエントリドキュメントです。

            <x?xml version="1.0" encoding="utf-8"?><xatom:entry xmlns:atom="http://www.w3.org/2005/Atom">  <xatom:author>    <xatom:name>Joe<x/atom:name>    <xatom:email>Joe@mycompany.com<x/atom:email>  <x/atom:author>  <xatom:category term="Car" label="City Star"/>  <xatom:content type="xhtml">    <xasx:abap version="1.0" xmlns:asx="http://www.sap.com/abapxml">      <xasx:values>        <xCAR>          <xID>34<x/ID>          <xMODEL_NAME>City Star<x/MODEL_NAME>          <xMANUFACTURER_NAME>Automobiles Peugeot<x/MANUFACTURER_NAME>          <xPRICE>14599.98<x/PRICE>          <xCURRENCY>EUR<x/CURRENCY>          <xMODEL_YEAR>2012<x/MODEL_YEAR>        <x/CAR>      <x/asx:values>    <x/asx:abap>  <x/atom:content>  <xatom:id>/sap/bc/rest_cars/atom/Cars/7<x/atom:id>  <xatom:link href="/sap/bc/rest_cars/atom/Cars/7" rel="alternate" type="text/html" title="City Star"/>  <xatom:published>2012-10-22T14:03:24Z<x/atom:published>  <xatom:summary type="html"><title>Automobiles Peugeot:City Star</title><x/atom:summary>  <xatom:title>City Star<x/atom:title>  <xatom:updated>2012-10-22T14:03:24Z<x/atom:updated><x/atom:entry>         

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