RESTAPIRequestBody - com escopo, global

  • Versão de lançamento: Yokohama
  • Atualizado 30 de jan. de 2025
  • 3 min. de leitura
  • A API RESTAPIRequestBody fornece métodos que permitem acessar o conteúdo do corpo de uma solicitação de REST API em scripts.

    O formato de um objeto RESTAPIRequestBody pode ser JSON ou XML, dependendo do valor do cabeçalho do tipo de conteúdo da solicitação.
    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.

    Esta API é executada no namespace sn_ws.

    Exemplo de corpo de solicitação de entrada única no formato JSON.
    {
     "name": "user1",
     "id": 1234,
     "roles": [
      {
       "name": "admin"
      },
      {
       "name": "itil"
      }
     ]
    }
    Exemplo de corpo de solicitação de entrada múltipla no formato JSON.
    [{
     "name": "user1",
     "id": 1234,
     "roles": [
      {
       "name": "admin"
      },
      {
       "name": "itil"
      }
     ]
    },{
     "name": "user2",
     "id":9876,
     "roles": [
      {
       "name":"admin"
      }
     ]
    }]

    RESTAPIRequestBody - dados

    O conteúdo do corpo da solicitação.

    Nota:
    Os serviços Web REST consomem dados, fluxo de dados e dataString por meio de fluxo. Como os fluxos são consumidos apenas uma vez, somente um pode ser chamado. Por exemplo, se chamar data e dataString, a segunda chamada retornará em branco.
    Tabela 1. Campo
    Nome Tipo Descrição
    dados Objeto ou matriz O conteúdo da solicitação. Pode ser um único objeto ou uma matriz de objetos, dependendo da solicitação.
    var entry;
    var id;
    var requestBody = request.body;
    var requestData = requestBody.data; //May be an array or a single object
    if (requestData instanceof Array) { 
     entry = requestData[0].name; // 'user1'
     id = requestData[0].id; // '1234'
    } else {
     entry = requestData.name; // 'user1'
     id = requestData.id; // '1234'
    }

    RESTAPIRequestBody - dataStream

    O conteúdo do corpo da solicitação, como um fluxo.

    Nota:
    Os serviços Web REST consomem dados, fluxo de dados e dataString por meio de fluxo. Como os fluxos são consumidos apenas uma vez, somente um pode ser chamado. Por exemplo, se chamar data e dataString, a segunda chamada retornará em branco.
    Tabela 2. Campo
    Nome Tipo Descrição
    fluxo de dados Objeto O conteúdo do corpo da solicitação. Você pode passar o fluxo para uma API separada, como para criar um anexo a partir da solicitação ou encaminhar a solicitação para um endpoint diferente.
    var requestBody = request.body; 
    var requestStream = requestBody.dataStream;

    RESTAPIRequestBody - dataString

    O conteúdo do corpo da solicitação, como uma cadeia de caracteres.

    Nota:
    Os serviços Web REST consomem dados, fluxo de dados e dataString por meio de fluxo. Como os fluxos são consumidos apenas uma vez, somente um pode ser chamado. Por exemplo, se chamar data e dataString, a segunda chamada retornará em branco.
    Tabela 3. Campo
    Nome Tipo Descrição
    dataString Cadeia de caracteres O conteúdo do corpo da solicitação.
    var requestBody = request.body; 
    var requestString = requestBody.dataString;

    RESTAPIRequestBody - hasNext()

    Determina se há entradas adicionais no corpo da solicitação.

    Use este método com o método nextEntry() para iterar várias entradas do corpo da solicitação.

    Tabela 4. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 5. Retorna
    Tipo Descrição
    booliano Sinalizador que indica se há entradas adicionais no corpo da solicitação.
    Valores possíveis:
    • verdadeiro: entradas adicionais estão disponíveis. Como nextEntry() é chamado, hasNext() continua a ser verdadeiro até que o último registro correspondente seja carregado.
    • falso: não há entradas adicionais.
    var requestBody = request.body;
    requestBody.hasNext(); // returns true if the request contains a single entry or multiple entries
    requestBody. nextEntry(); // returns next available entry
    
    //calling second time
    requestBody.hasNext(); // returns false if the request contains a single entry, or true if the request contains multiple entries

    RESTAPIRequestBody – nextEntry()

    Recupere uma entrada do corpo da solicitação como um objeto de script.

    Use este método com o método hasNext() para iterar várias entradas do corpo da solicitação.

    Tabela 6. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 7. Retorna
    Tipo Descrição
    Objeto Uma única entrada do corpo da solicitação.
    var requestBody = request.body;
    var requestEntry = requestBody.nextEntry(); // returns available entry if there is only one entry, or the first entry if there are multiple.
    var name = requestEntry.name; // 'user1'
    
    // Calling second time
    requestEntry = requestBody.nextEntry(); // returns undefined if there is only one entry, or the second entry if there are multiple.

    Este exemplo demonstra o uso de hasNext() com nextEntry().

    var requestBody = request.body;
    while(requestBody.hasNext()){
    var entry = requestBody.nextEntry();
    }