RESTAPIResponse - com escopo, global

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 3 min. de leitura
  • A API RESTAPIResponse fornece métodos que permitem criar uma resposta RESTful para uma solicitação de API REST com script.

    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.

    RESTAPIResponse – getStreamWriter()

    Retorna o ResponseStreamWriter para esta resposta, permitindo que você grave diretamente no fluxo de resposta.

    Defina o tipo de conteúdo e o código de status usando as funções setHeaders e setStatus antes de chamar a função getStreamWriter.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 2. Retorna
    Tipo Descrição
    RESTAPIResponseStream - com escopo, global O ResponseStreamWriter para esta resposta. Você pode usar este objeto para gravar diretamente no fluxo de resposta.
    response.setContentType('application/json');
    response.setStatus(200);
    var writer = response.getStreamWriter();

    RESTAPIResponse - setBody(corpo do objeto)

    Define o conteúdo do corpo a ser enviado na resposta do serviço web.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    corpo Objeto

    O corpo da resposta, como um objeto JavaScript.

    O conteúdo do corpo é serializado automaticamente para JSON ou XML, dependendo do valor do cabeçalho Accept passado na solicitação.

    Tabela 4. Retorna
    Tipo Descrição
    vazio
    var body = {};
    body.name = "incident";
    body.number = "1234";
    body.caller = {"id": "user1"};
    response.setBody(body);
    
    var bodyArray = [];
    var body = {};
    body.name = "incident";
    body.number = "1234";
    body.caller = {"id":"user1"};
    bodyArray.push(body);
    response.setBody(bodyArray);

    RESTAPIResponse - setContentType(cadeia de caracteres "contentType")

    Atribui um valor ao cabeçalho Content-Type na resposta do serviço web.

    Você deve definir um tipo de conteúdo de resposta antes de escrever a resposta. O tipo de conteúdo é definido automaticamente para respostas de cadeia de caracteres, com base no valor do cabeçalho Aceitar solicitação.

    Definir um tipo de conteúdo inválido faz com que a resposta seja padronizada para JSON. A falha ao definir um tipo de conteúdo resulta em um erro de código de status 500 ao enviar uma resposta binária.

    Consulte a documentação do cabeçalho Content-Type W3 para obter mais informações sobre este cabeçalho.

    Tabela 5. Parâmetros
    Nome Tipo Descrição
    contentType Cadeia de caracteres O tipo de conteúdo do corpo da resposta, como application/json.
    Tabela 6. Retorna
    Tipo Descrição
    vazio
    response.setContentType('application/json');

    RESTAPIResponse - setError(Erro de objeto)

    Configura a resposta REST para retornar um erro.

    Tabela 7. Parâmetros
    Nome Tipo Descrição
    erro Objeto Objeto de erro.

    Para obter mais informações sobre os tipos de objetos de erro que podem ser usados, consulte Exemplo de Scripted REST API - amostras de script.

    Tabela 8. Retorna
    Tipo Descrição
    vazio

    O exemplo a seguir mostra como retornar um erro de dentro de um recurso REST com script.

    var queryParams = request.queryParams;
    var userId = String(queryParams.user_id || '');
    var fileId = String(queryParams.file_id || '');
    if (!userId || !fileId){
      response.setError(new sn_ws_err.BadRequestError('Missing required parameters.'));
      return;
    }

    RESTAPIResponse - setHeader(cabeçalho de cadeia de caracteres, valor de cadeia de caracteres)

    Atribua um valor a um cabeçalho de resposta de serviço REST.

    Tabela 9. Parâmetros
    Nome Tipo Descrição
    cabeçalho Cadeia de caracteres O cabeçalho que você deseja definir.
    valor Cadeia de caracteres O valor para atribuir o cabeçalho especificado.
    Tabela 10. Retorna
    Tipo Descrição
    vazio
    response.setHeader("Location","<URI>");

    RESTAPIResponse - setHeaders(cabeçalhos de objeto)

    Define os cabeçalhos para a resposta do serviço web.

    Tabela 11. Parâmetros
    Nome Tipo Descrição
    cabeçalhos Objeto Um objeto JavaScript que lista cada cabeçalho e o valor para atribuir esse cabeçalho.
    Tabela 12. Retorna
    Tipo Descrição
    vazio
    var headers = {};
    headers.X-Total-Count=100;
    headers.Location='https://instance.service-now.com/<endpoint_to_resource>';
    response.setHeaders(headers);

    RESTAPIResponse - setLocation(cadeia de caracteres local)

    Atribui um valor ao cabeçalho Local na resposta do serviço web.

    Consulte a documentação do cabeçalho do local W3 para obter mais informações sobre este cabeçalho.

    Tabela 13. Parâmetros
    Nome Tipo Descrição
    Nenhum(a) Cadeia de caracteres Um URI absoluto para o qual o destinatário da resposta será redirecionado.
    Tabela 14. Retorna
    Tipo Descrição
    vazio

    RESTAPIResponse - setStatus(Status do número)

    Define o número do código de status da resposta do serviço web.

    Tabela 15. Parâmetros
    Nome Tipo Descrição
    status Número O código de status a ser enviado na resposta, como 200 para indicar sucesso. Passar um valor não numérico, como uma cadeia de caracteres, faz com que o código de status seja padronizado como 0.
    Tabela 16. Retorna
    Tipo Descrição
    vazio
    response.setStatus(200);