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

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む3読むのに数分
  • RESTAPIResponseStream API を使用すると、Scripted REST API 応答ストリームに直接書き込むことができます。

    RESTAPIResponseStream メソッドを使用して、Scripted REST API 機能で Web サービス API を構築します。
    注:
    このタイプのオブジェクトはインスタンス化できません。このタイプのオブジェクトは自動的に作成され、Scripted REST API リソーススクリプトでのみアクセスできます。

    RESTAPIResponseStream - writeStream(オブジェクトstream)

    入力ストリームを応答ストリームに書き込みます。

    writeStream() メソッドを呼び出す前にコンテンツタイプとステータスコードを設定する必要があります。そうしないと、応答が失敗します。writeStream() メソッドを呼び出した後は、これらの値を変更できません。

    注:

    サードパーティのサービスからストリームを取得するのは、スクリプト作成者の責任です。

    表 : 1. パラメーター
    名前 タイプ 説明
    stream オブジェクト サードパーティのサービスからの添付ファイルまたは応答ストリーム。
    表 : 2. 返される内容
    タイプ 説明
    なし

    次の例は、スコープ対象のアプリケーション用のコードです。

    (function process(/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {
    
        response.setContentType('application/json');
        response.setStatus(200);
    
        var gsa = new GlideSysAttachment();
        var attachmentStream = new gsa.getContentStream(<sys_id of attachment>); 
        var writer = response.getStreamWriter();
        writer.writeStream(attachmentStream);
    
    })(request, response);

    次の例は、グローバルアプリケーション用のコードです。

    (function process(/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {
    
        response.setContentType('application/json');
        response.setStatus(200);
    
        var attachmentStream = new GlideSysAttachmentInputStream(<sys_id of attachment>);
        var writer = response.getStreamWriter();
        writer.writeStream(attachmentStream);
    
    })(request, response);

    RESTAPIResponseStream - writeString(文字列 data)

    文字列データを応答ストリームに書き込みます。

    writeString() メソッドを呼び出す前にコンテンツタイプとステータスコードを設定する必要があります。そうしないと、応答が失敗します。writeString() メソッドを呼び出した後は、これらの値を変更できません。

    表 : 3. パラメーター
    名前 タイプ 説明
    data 文字列 応答データに追加する文字列。
    表 : 4. 返される内容
    タイプ 説明
    なし
    response.setContentType('application/json');
    response.setStatus(200);
    var writer = response.getStreamWriter();
    var body ={
      name:user1,
      id: 1234,
      roles: [
        {
          name: admin
        },
        {
          name: itil
        }
      ]
    }
    writer.writeString("{'name':'user','id':'1234'}");
    writer.writeString(JSON.stringify(body));