意味
メソッドIF_REST_RESOURCE〜PUTは、クライアント指定のURIによって識別されるタイプCarの単一のエンティティを更新するために使用されます。
例:
URI http:// myhost:4711 / sap / bc / rest_cars / Car / 2は、ID=2のCarリソースを識別するURIです。このURIは、HTTPリクエストでのPUTコマンドの使用とともに、メソッドIF_REST_RESOURCE〜PUTの呼び出しをトリガーします。
有効なHTTPボディは次のようになります。
さらに、有効なETag値はHTTPヘッダーIf-Matchによって提供される必要があります。このHTTPヘッダーの値(たとえば、W / “datetime’2012-10-05T13%3A25%3A14.3910880′”)は、同じリソースURIで以前のGETを使用して、RESTクライアントによって読み取られます。これにより、以前に読み取ったデータがその間に変更されないことが保証されます。
-
リソースのキーを表すURI要素は、RESTライブラリによってIDという名前のパラメーターに割り当てられ(これはGETメソッドの例と同じです)、要求オブジェクトのメソッドGET_URI_ATTRIBUTEによって読み取られます。
-
読み込まれたIDは、要求されたデータを選択するために使用されます。
-
リクエストオブジェクトMO_REQUESTで提供されたデータは逆シリアル化され(単にABAP ID変換によって)、データベースの更新が行われ、新しいETagヘッダーがレスポンスに設定されます。
-
GETの例のように、メンバーオブジェクトMO_RESPONSEは、PUTメソッドが呼び出される前にライブラリによってすでに作成されています。
-
PUTの場合、HTTP本文に応答データセットはありませんが、HTTP応答コード201(「コンテンツなし」)のみが設定されます。