RESTAPIResponseStream - Scoped, Global

A RESTAPIResponseStream object allows you to write directly to the scripted REST API response stream.

Note: You cannot instantiate objects of this type. Objects of this type are created automatically and are accessible only in scripted REST API resource scripts.

RESTAPIResponseStream - writeStream(Object stream)

Write an input stream to the response stream.

You must set the content type and status code before calling the writeStream() method or the response will fail. You cannot modify these values after calling the writeStream() method.

Table 1. Parameters
Name Type Description
stream Object An attachment or a response stream from a third-party service.
Table 2. Returns
Type Description
void

It is the responsibility of the script author to obtain the stream from a third-party service.

response.setContentType('application/json');
response.setStatus(200);
var writer = response.getStreamWriter();
var attachmentStream = new GlideSysAttachmentInputStream(<sys id of attachment>);
writer.writeStream(attachmentStream);

RESTAPIResponseStream - writeString(String data)

Write string data to the response stream.

You must set the content type and status code before calling the writeString() method or the response will fail. You cannot modify these values after calling the writeString() method.

Table 3. Parameters
Name Type Description
data String The string to add to the response data.
Table 4. Returns
Type Description
void

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));