RESTAPIResponse - スコープ対象、グローバル
RESTAPIResponse API を使用すると、Scripted REST API 要求に対する RESTful 応答を構築できます。
RESTAPIResponse - getStreamWriter()
この応答の ResponseStreamWriter を返します。それによって、応答ストリームに直接書き込むことができます。
setHeaders および setStatus 関数を使用してコンテンツタイプとステータスコードを設定してから、getStreamwriter 関数を呼び出します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| RESTAPIResponseStream - スコープ対象、グローバル | この応答の ResponseStreamWriter。このオブジェクトを使用して、応答ストリームに直接書き込むことができます。 |
response.setContentType('application/json');
response.setStatus(200);
var writer = response.getStreamWriter();
RESTAPIResponse - setBody(オブジェクト body)
Web サービス応答で送信する本文のコンテンツを設定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| body | オブジェクト | JavaScript オブジェクトとしての応答の本文。 本文のコンテンツは、要求で渡された Accept ヘッダーの値に応じて JSON または XML に自動的にシリアル化されます。 |
| タイプ | 説明 |
|---|---|
| なし |
var body = {};
body.name = "incident";
body.number = "1234";
body.caller = {"id": "user1"};
response.setBody(body);
var bodyArray = [];
var body = {};
body.name = "incident";
body.number = "1234";
body.caller = {"id":"user1"};
bodyArray.push(body);
response.setBody(bodyArray);
RESTAPIResponse - setContentType(文字列 contentType)
Web サービス応答の Content-Type ヘッダーに値を割り当てます。
応答を書き込む前に、応答のコンテンツタイプを設定する必要があります。コンテンツタイプは、要求の [受け入れ] ヘッダーの値に基づいて、文字列応答に対して自動的に設定されます。
無効なコンテンツタイプを設定すると、応答はデフォルトで JSON になります。コンテンツタイプを設定しないと、バイナリ応答の送信時にステータスコード 500 のエラーが発生します。
このヘッダーの詳細については、W3 Content-Type ヘッダーに関するドキュメントを参照してください。
| 名前 | タイプ | 説明 |
|---|---|---|
| contentType | 文字列 | 応答本文のコンテンツタイプ (application/json など)。 |
| タイプ | 説明 |
|---|---|
| なし |
response.setContentType('application/json');
RESTAPIResponse - setError(オブジェクト error)
エラーを返すように REST 応答を設定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| error | オブジェクト | エラーオブジェクト。 使用できるエラー・オブジェクトのタイプの詳細については、を参照してください Scripted REST API の例 - スクリプトサンプル。 |
| タイプ | 説明 |
|---|---|
| なし |
次の例は、スクリプト化された REST リソース内からエラーを返す方法を示しています。
var queryParams = request.queryParams;
var userId = String(queryParams.user_id || '');
var fileId = String(queryParams.file_id || '');
if (!userId || !fileId){
response.setError(new sn_ws_err.BadRequestError('Missing required parameters.'));
return;
}
RESTAPIResponse - setHeader(文字列 header, 文字列 value)
REST サービス応答ヘッダーに値を割り当てます。
| 名前 | タイプ | 説明 |
|---|---|---|
| header | 文字列 | 設定するヘッダー。 |
| value | 文字列 | 指定されたヘッダーに割り当てる値。 |
| タイプ | 説明 |
|---|---|
| なし |
response.setHeader("Location","<URI>");
RESTAPIResponse - setHeaders(オブジェクト headers)
Web サービス応答のヘッダーを設定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| headers | オブジェクト | 各ヘッダーとそのヘッダーに割り当てる値をリストする JavaScript オブジェクト。 |
| タイプ | 説明 |
|---|---|
| なし |
var headers = {};
headers.X-Total-Count=100;
headers.Location='https://instance.service-now.com/<endpoint_to_resource>';
response.setHeaders(headers);
RESTAPIResponse - setLocation(文字列 location)
Web サービス応答の Location ヘッダーに値を割り当てます。
このヘッダーの詳細については、W3 Location ヘッダーに関するドキュメントを参照してください。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし | 文字列 | 応答の受信者のリダイレクト先となる絶対 URI。 |
| タイプ | 説明 |
|---|---|
| なし |
RESTAPIResponse - setStatus(数字 status)
Web サービス応答のステータスコード番号を設定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| status | 数字 | 応答内で送信するステータスコード (成功を示す 200 など)。文字列などの数字でない値を渡すと、ステータスコードはデフォルトで 0 になります。 |
| タイプ | 説明 |
|---|---|
| なし |
response.setStatus(200);