RESTAPIResponseStream - com escopo, global

  • Versão de lançamento: Yokohama
  • Atualizado 30 de jan. de 2025
  • 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.

    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)

    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.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    fluxo Objeto Um anexo ou um fluxo de resposta de um serviço de terceiros.
    Tabela 2. Retornos
    Tipo Descrição
    vazio

    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)

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

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    dados Cadeia de caracteres A cadeia de caracteres a ser adicionada aos dados de resposta.
    Tabela 4. Retornos
    Tipo Descrição
    vazio
    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));