RESTAPIResponse - スコープ対象、グローバル

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:5分
  • RESTAPIResponse API は、スクリプト化された REST API 要求に対する RESTful 応答を作成できるメソッドを提供します。

    この API は sn_ws 名前空間で実行されます。

    注:
    このタイプのオブジェクトはインスタンス化できません。このタイプのオブジェクトは自動的に作成され、Scripted REST API リソーススクリプトでのみアクセスできます。

    RESTAPIResponse - getStreamWriter()

    この応答の ResponseStreamWriter を返します。それによって、応答ストリームに直接書き込むことができます。

    setHeaders および setStatus 関数を使用してコンテンツタイプとステータスコードを設定してから、getStreamwriter 関数を呼び出します。

    表 : 1. パラメーター
    名前 タイプ 説明
    なし
    表 : 2. 返される内容
    タイプ 説明
    RESTAPIResponseStream - スコープ対象、グローバル この応答の ResponseStreamWriter。このオブジェクトを使用して、応答ストリームに直接書き込むことができます。
    response.setContentType('application/json');
    response.setStatus(200);
    var writer = response.getStreamWriter();

    RESTAPIResponse - setBody(オブジェクト body)

    Web サービス応答で送信する本文のコンテンツを設定します。

    表 : 3. パラメーター
    名前 タイプ 説明
    body オブジェクト

    JavaScript オブジェクトとしての応答の本文。

    本文のコンテンツは、要求で渡された Accept ヘッダーの値に応じて JSON または XML に自動的にシリアル化されます。

    表 : 4. 返される内容
    タイプ 説明
    なし
    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 ヘッダーに関するドキュメントを参照してください。

    表 : 5. パラメーター
    名前 タイプ 説明
    contentType 文字列 応答本文のコンテンツタイプ (application/json など)。
    表 : 6. 返される内容
    タイプ 説明
    なし
    response.setContentType('application/json');

    RESTAPIResponse - setError(オブジェクト error)

    エラーを返すように REST 応答を設定します。

    表 : 7. パラメーター
    名前 タイプ 説明
    error オブジェクト エラーオブジェクト。

    使用できるエラー オブジェクトの種類の詳細については、「 Scripted REST API の例 - スクリプトサンプル」を参照してください。

    表 : 8. 返される内容
    タイプ 説明
    なし

    次の例は、スクリプト化された 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 サービス応答ヘッダーに値を割り当てます。

    表 : 9. パラメーター
    名前 タイプ 説明
    header 文字列 設定するヘッダー。
    value 文字列 指定されたヘッダーに割り当てる値。
    表 : 10. 返される内容
    タイプ 説明
    なし
    response.setHeader("Location","<URI>");

    RESTAPIResponse - setHeaders(オブジェクト headers)

    Web サービス応答のヘッダーを設定します。

    表 : 11. パラメーター
    名前 タイプ 説明
    headers オブジェクト 各ヘッダーとそのヘッダーに割り当てる値をリストする JavaScript オブジェクト。
    表 : 12. 返される内容
    タイプ 説明
    なし
    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 ヘッダーに関するドキュメントを参照してください。

    表 : 13. パラメーター
    名前 タイプ 説明
    なし 文字列 応答の受信者のリダイレクト先となる絶対 URI。
    表 : 14. 返される内容
    タイプ 説明
    なし

    RESTAPIResponse - setStatus(数字 status)

    Web サービス応答のステータスコード番号を設定します。

    表 : 15. パラメーター
    名前 タイプ 説明
    status 数字 応答内で送信するステータスコード (成功を示す 200 など)。文字列などの数字でない値を渡すと、ステータスコードはデフォルトで 0 になります。
    表 : 16. 返される内容
    タイプ 説明
    なし
    response.setStatus(200);