使用する
RESTライブラリは、ヘルパーメソッドCL_REST_HTTP_UTILS=>NEGOTIATE_CONTENT_TYPEを使用したコンテンツタイプのネゴシエーションをサポートします。「コンテンツネゴシエーションの基本」セクションで説明されている他のすべての受け入れヘッダーを使用できますが、それに対応するヘルパーメソッドがありません(また、ヘルパーメソッドは必要ありません)。
プロセス
RESTクライアントは、受信するコンテンツタイプを示すリソースリクエストとともにAcceptリクエストヘッダーを送信します。クライアントのコンテンツタイプ入力は、サーバー側で要求されたリソースに対してサポートされているコンテンツタイプと照合されます。最適な一致がサーバーの実装に返され、実際のコンテンツを生成するためにそこで使用する必要があります。条件付き情報メソッドのシグネチャは、条件付きリクエストを処理するためにRESTライブラリに必要な値を提供します。
メソッドパラメータ:
-
IV_HEADER_ACCEPT:これはHTTPリクエストから読み取られたヘッダー値です。メソッドIF_REST_REQUEST〜GET_HEADER_FIELDを使用して、ヘッダー値を読み取ります。インターフェイスIF_HTTP_HEADER_FIELDSの定数を使用して、読み取るヘッダーを指定します(たとえば、値IF_HTTP_HEADER_FIELDS => ACCEPTにはAcceptヘッダーが含まれます)。
-
IT_SUPPORTED_CONTENT_TYPE:サーバーでサポートされているコンテンツタイプのリストを指定します。このメソッドを使用するには、サーバー実装によって事前に入力する必要があります。
-
RV_CONTENT_TYPE:クライアントが最も好むコンテンツタイプを返します。最初の戻り値は、サーバーの指定されたサポートされているコンテンツタイプのいずれも、クライアントのコンテンツタイプ要件をサポートできないことを示します。
これは、ヘルパーメソッドの使用法を示すRESTサーバーのGETメソッド実装のコードフラグメントです。要求されたリソースのコンテンツタイプを作成するために使用可能なコンテンツタイプが見つからない場合は、HTTP 406(「受け入れられない」)リターンコードで示されます。