---
sourceDocument: Referência de API do Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - pt-BR

ft:publication_title :

    - Referência de API do Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# RESTAPIResponseStream - com escopo, global

# RESTAPIResponseStream - com escopo, global {#ariaid-title1}

* Versão de lançamento: Xanadu
* 
* Atualizado 1 de ago. de 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 1 min. de leitura

A API RESTAPIResponseStream fornece métodos que permitem gravar diretamente no fluxo de resposta da REST API com script.

Use métodos RESTAPIResponseStream para criar APIs de serviço web no recurso [Scripted REST API](https://servicenow-prod.fluidtopics.net/NkO~PM_OGwHpTRvBtL6ADg "O recurso de API REST de script permite que os desenvolvedores de aplicações criem APIs de serviço web personalizadas.").

Esta API é executada no namespace `sn_ws`.  
Nota:  
Você não pode instanciar objetos deste tipo. Objetos desse tipo são criados automaticamente e podem ser acessados somente em scripts de recurso de REST API com script.

## RESTAPIResponseStream - writeStream(fluxo de objeto) {#ariaid-title2}

Grave um fluxo de entrada no fluxo de resposta.
Você deve definir o tipo de conteúdo e o código de status antes de chamar o método writeStream() ou a resposta falhará. Você não pode modificar esses valores depois de chamar o método writeStream().  
Nota:  
É de responsabilidade do autor do script obter o fluxo de um serviço de terceiros.
{#r_SSRSW-writeStream_O__table_c2x_wnb_sr__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| fluxo | Objeto | Um anexo ou um fluxo de resposta de um serviço de terceiros. |
[Tabela 1. Parâmetros]

{#r_SSRSW-writeStream_O__table_c2x_wnb_sr} {#r_SSRSW-writeStream_O__table_d2x_wnb_sr__entry__2}

| Tipo | Descrição |
|-|-|
| vazio |   |
[Tabela 2. Retorna]

{#r_SSRSW-writeStream_O__table_d2x_wnb_sr}  
O exemplo a seguir é para aplicações com escopo:

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

O exemplo a seguir é para aplicações globais:

    (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(cadeia de caracteres de dados) {#ariaid-title3}

Grave dados de cadeia de caracteres no fluxo de resposta.
Você deve definir o tipo de conteúdo e o código de status antes de chamar o método writeString() ou a resposta falhará. Você não pode modificar esses valores depois de chamar o método writeString().
{#r_SSRSW-writeString_S__table_gck_rcr_qr__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| dados | Cadeia de caracteres | A cadeia de caracteres a ser adicionada aos dados de resposta. |
[Tabela 3. Parâmetros]

{#r_SSRSW-writeString_S__table_gck_rcr_qr} {#r_SSRSW-writeString_S__table_hck_rcr_qr__entry__2}

| Tipo | Descrição |
|-|-|
| vazio |   |
[Tabela 4. Retorna]

{#r_SSRSW-writeString_S__table_hck_rcr_qr}  

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


