要求と応答のコンテンツタイプの制御
スクリプト化された REST API 要求と応答で許可されるコンテンツタイプを制御します。
application/json、 application/xml、および text/xml をサポートしています。ユーザー定義のカスタムコンテンツタイプ ( JSON または xml サブタイプを含む) もサポートされています。例えば、 application/vnd.collection+json と application/vnd.adobe.xdp+xml は、それぞれ JSON と XML として扱われます。json または xml サブタイプでない場合は、要求本文 dataStream フィールドのみを使用して要求本文にアクセスします。json または非 xml 形式で要求本文 データ、 dataString、 nextEntry()、または hasNext() を使用すると、 500 のエラー応答が返されます。デフォルト設定
[ デフォルトでサポートされる要求フォーマット (Default supported request formats)] フィールドと [デフォルトでサポートされる応答フォーマット (Default supported response formats)] フィールドを使用して、API のデフォルト値を設定できます。これらのフィールドは、ユーザーが Content-Type および Accept 要求ヘッダーにそれぞれ渡すことができる許容可能な値を定義します。要求元のユーザーが API またはリソースでサポートされていない Accept または Content-Type ヘッダーを指定すると、インスタンスは HTTP エラーコード 406 または 415 で応答します。
ワイルドカード値の使用
- 1 文字のワイルドカード検索を実行するには、パーセント記号 (%) 文字を使用します。このワイルドカードでは、パーセント記号文字の任意の 1 文字を含む単語が検索されます。たとえば、テキストやテストなどの単語を検索するには、 te%t を検索します。
- 複数文字のワイルドカード検索を実行するには、アスタリスク (*) 文字を使用します。このワイルドカードは、アスタリスク文字の代わりに 0 個以上の文字を含む単語を検索します。たとえば、planned や placed などの単語を検索するには、 pl*d を検索します。
x-www-form-urlencoded コンテンツタイプの使用
REST API またはリソースが application/x-www-form-urlencoded コンテンツタイプを受け入れる場合は、要求で指定された urlencoded 値を JSON マップとして取得できます。その後、これらの urlencoded キーと値のペアをクエリパラメーターとして、要求本文で、あるいはその両方で指定できます。これらは結合され、要求パラメーターに保存されます。request.queryParams オブジェクトを使用して、これらのパラメーターにアクセスします。
API が application/x-www-form-urlencoded コンテンツタイプを受け入れるように定義されており、API が次のように実装されている場合は、 (function process(/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {
response.setBody(request.queryParams);
})(request, response);…次に、次の要求によってそれぞれの応答が生成されます。POST to localhost:8080/api/now/some_api/some_resource?name3=value3&name4=value4本文:name1=value1&name2=value2応答:{ "result":
{ "name4": [ "value4" ], "name3": [ "value3" ], "name2": [ "value2" ],
"name1": [ "value1" ]
}
}応答にバイナリタイプを送信する
応答でバイナリ型を送信する場合は、応答コンテンツ型を設定し、 RESTAPIResponseStream オブジェクトを使用してバイナリストリームを直接書き込む必要があります。このオブジェクトにアクセスするには、応答オブジェクトで getStreamWriter() を呼び出します。詳細については、「」を参照してください。