意味
RESTは当初HTTPのコンテキストで定義されていましたが、それに限定されません。
ABAP RESTライブラリを使用すると、HTTPプロトコルのコンテキストでRESTサービスを開発することに重点が置かれます。つまり、URIスキーマはhttpまたはhttpsです。
URIパスは、ベースパス(RESTサービスのハンドラークラスのABAP ICFで定義されている)とリソースパスで構成され、RESTアプリケーションが要求されたリソースを識別するために使用します。
URIクエリパラメータはリソースの識別の一部にすることができますが、推奨されません(以下を参照)。SAPクライアントを識別するためのクエリパラメータ(sap-client = xxx)はURIの一部である可能性がありますが、base-URIのICFノード構成で指定することもできます。
-
各ABAPRESTサービスにはベースURIがあります(ICFフレームワークのABAPケースで定義されています)。
例:http:// ldcigmd:50055 / sap / bc / rest_cars /一部のRESTアプリケーションリソース環境にサービスを提供するRESTサービスのベースURIです。RESTアプリケーションに割り当てられたICFノードは、RESTリソースへのアクセスを処理し、特にアクセスに使用される認証の種類を決定します(パブリックRESTサービスでもABAPシステムのユーザーコンテキストが必要です)。
-
ベースURIは、要素(またはプロパティなどのそれらのサブ構造)またはコレクションリソースパーツによって拡張されます。
例:http:// ldcigmd:50055 / sap / bc / rest_cars / Cars / 17 /は、要素識別子が17のCarsタイプの要素を識別するリソースURIです。http:// ldcigmd:50055 / sap / bc / rest_cars / Cars / 17 / ModelNameは、識別子17を持つCarsエンティティのモデル名(エンティティの構造の一部)を識別するリソースURIです。http:// ldcigmd:50055 / sap / bc / rest_cars / Cars /タイプCarsのコレクションを識別するリソースURIです。
(前の例のように)位置URIパス要素によって識別され、(名前-値ペアのテンプレートとして)クエリパラメーターとして定義されていない単一のエンティティを持つことが望ましいです。そのURI設計は、より固定された識別URIにつながります。このように、サーバーのURIテンプレートに関する知識が必要ないため、クライアントはサーバーからより分離されます。
-
リソースの読み取りと操作(GET、PUT、POST、DELETE)、またはリソース自体を取得せずにリソースの追加(メタ)データを取得するためのHTTPメソッド(REST動詞)の使用をサポートします(HEAD、OPTIONS)。リソースの読み取りまたは操作に関連する動作、つまりサービスによって提供される関数の実行では、POSTメソッドを使用する必要があります(たとえば、GETメソッドを使用して、呼び出しの前に関数の詳細情報を取得できます(たとえば、関数入力パラメータのフォームドキュメント)。
-
リソースは、クライアントとサーバーの間でよく知られているドキュメント形式(XMLドキュメントなど)で表すことができます。ABAP RESTライブラリは、独自のシリアル化および逆シリアル化クラスを組み込むことを提供します。