RESTAPIResponseStream - スコープ対象、グローバル
RESTAPIResponseStream API には、スクリプト化された REST API 応答ストリームに直接書き込むことができるメソッドが用意されています。
スクリプト済み REST API 機能で Web サービス API をビルドするには、RESTAPIResponseStream メソッドを使用します。
この API は sn_ws 名前空間で実行されます。
注:
このタイプのオブジェクトはインスタンス化できません。このタイプのオブジェクトは自動的に作成され、Scripted REST API リソーススクリプトでのみアクセスできます。
RESTAPIResponseStream - writeStream(オブジェクトstream)
入力ストリームを応答ストリームに書き込みます。
writeStream() メソッドを呼び出す前にコンテンツタイプとステータスコードを設定する必要があります。そうしないと、応答が失敗します。writeStream() メソッドを呼び出した後は、これらの値を変更できません。
注:
サードパーティのサービスからストリームを取得するのは、スクリプト作成者の責任です。
| 名前 | タイプ | 説明 |
|---|---|---|
| stream | オブジェクト | サードパーティのサービスからの添付ファイルまたは応答ストリーム。 |
| タイプ | 説明 |
|---|---|
| なし |
次の例は、スコープ対象のアプリケーション用のコードです。
(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() メソッドを呼び出した後は、これらの値を変更できません。
| 名前 | タイプ | 説明 |
|---|---|---|
| data | 文字列 | 応答データに追加する文字列。 |
| タイプ | 説明 |
|---|---|
| なし |
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));