RESTAPIResponse:スコープ指定、グローバル
RESTAPIResponse API は、スクリプト化された REST API 要求に対する RESTful 応答をビルドできるメソッドを提供します。
この API は sn_ws 名前空間で実行されます。
RESTAPIResponse - getStreamWriter()
この応答の ResponseStreamWriter を返し、応答ストリームに直接書き込むことができます。
getStreamWriter 関数を呼び出す前に、setHeaders 関数と setStatus 関数を使用して、コンテンツタイプとステータスコードを設定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| RESTAPIResponseStream:スコープ、グローバル | この応答の ResponseStreamWriter。このオブジェクトを使用して、応答ストリームに直接書き込むことができます。 |
response.setContentType('application/json');
response.setStatus(200);
var writer = response.getStreamWriter();
RESTAPIResponse - setBody(オブジェクト本文)
Web サービス応答で送信する本文コンテンツを設定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| 本文 | オブジェクト | 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(String contentType)
Web サービス応答の Content-Type ヘッダーに値を割り当てます。
応答を書き込む前に、応答コンテンツタイプを設定する必要があります。コンテンツタイプは、要求の Accept ヘッダー値に基づいて、文字列応答に対して自動的に設定されます。
無効なコンテンツタイプを設定すると、応答はデフォルトで JSON になります。コンテンツタイプの設定に失敗すると、バイナリ応答の送信時にステータスコード 500 エラーが発生します。
このヘッダーの詳細については、 W3 Content-Type ヘッダーのドキュメント を参照してください。
| 名前 | タイプ | 説明 |
|---|---|---|
| contentType | 文字列 | 応答本文のコンテンツタイプ (application/json など)。 |
| タイプ | 説明 |
|---|---|
| なし |
response.setContentType('application/json');
RESTAPIResponse - setError(オブジェクトエラー)
エラーを返すように REST 応答を設定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| エラー | オブジェクト | エラーオブジェクト。 使用できるエラーオブジェクトのタイプの詳細については、「 スクリプト済み 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(String header, String value)
REST サービス応答ヘッダーに値を割り当てます。
| 名前 | タイプ | 説明 |
|---|---|---|
| ヘッダー | 文字列 | 設定するヘッダー。 |
| 値 | 文字列 | 指定されたヘッダーをアサインする値。 |
| タイプ | 説明 |
|---|---|
| なし |
response.setHeader("Location","<URI>");
RESTAPIResponse - setHeaders(オブジェクトヘッダー)
Web サービス応答のヘッダーを設定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| ヘッダー | オブジェクト | 各ヘッダーと、そのヘッダーに割り当てる値をリストする 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(Number status)
Web サービス応答のステータスコード番号を設定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| ステータス | 番号 | 応答で送信するステータスコード (成功を示す 200 など)。文字列などの数値以外の値を渡すと、ステータスコードのデフォルトは 0 になります。 |
| タイプ | 説明 |
|---|---|
| なし |
response.setStatus(200);