Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: DI-2143

Armazena o valor em uma requisição. Os valores inseridos estão vinculados a uma requisição do tipo REST em uma aplicação web. Eles são válidos apenas durante o ciclo de vida da requisição realizada. Quando a resposta é enviada ou quando a requisição é concluída, esses valores perdem sua validade e são descartados.

Este bloco utiliza o HttpServletRequest do Java, consulte a documentação oficial para mais informações. Para obter o valor da variável criada, utilize o bloco Obter valor na requisição.


Image Added

Figura 1 - Bloco Inserir ou alterar valor na requisição


Informações

Se precisar armazenar outros tipos de informações, como em uma variável de sessão ou thread, utilize os blocos Inserir ou alterar valor na sessão ou Inserir ou alterar valor na thread, respectivamente. Consulte a documentação de cada bloco para mais informações.

Compatibilidade

Bloco servidor: cronapi.util.Operations.setInRequest()

Retorno

Bloco sem retorno.

Parâmetros

Nome do campo

Nome do campo a ser criado na requisição.

  • Posição: 1
  • Inglês: Field name
  • Tipo: Texto / String
  • Exemplo: "nome"

Valor do campo

Valor a ser definido no campo da requisição.

  • Posição: 2
  • Inglês: Field value
  • Tipo: Texto / String
  • Exemplo: "Ana"

Âncora
exemplo1
exemplo1

Exemplo 1

A imagem abaixo mostra um exemplo de uso do bloco Inserir ou alterar valor na requisição. Na primeira função, estamos inserindo em uma variável da requisição o campo "nome" e, em seguida, é chamada a função "ObterValorNaRequisicao". Nesta segunda função, obtemos o valor do campo "nome" utilizando o bloco Obter valor na requisição, que será impresso no console do depurador.


Image Added

Figura 2 - Exemplo de uso do bloco Inserir ou alterar valor na requisição


A imagem a seguir mostra o resultado de execução da função da Figura 2, em que o valor do campo "nome" é impresso no console do depurador.


Image Added

Figura 2.1 - Resultado de execução da função da Figura 2

Exemplo 2

Na função da Figura 3, temos outro exemplo de uso deste bloco. Nela, obtemos a hora atual e verificamos se o minuto é ímpar. Em caso afirmativo, o bloco Inserir ou alterar valor na requisição armazena a hora atual. Caso contrário, o bloco Obter valor na requisição obtém o valor armazenado. Configure a função de bloco de programação como a imagem abaixo:


Image Added

Figura 3 – Função que será executada por uma requisição REST


  1. Defina uma variável com o nome "horaAtual" e, nela, insira o bloco Obter data e hora atual.
  2. Defina uma variável com o nome "minuto" e, nela, insira o bloco Obter minuto da data com a variável "horaAtual".
  3. Utilizamos os blocos imprime e criar texto com para imprimir a variável "horaAtual".
  4. Insira o bloco se faça e, nele, o bloco é par, configurado com a opção ímpar, com a variável "minuto".
  5. No parâmetro faça do bloco condicional, adicione os blocos imprime e criar texto com para imprimir a variável "minuto" e, na sequência, o bloco Inserir ou alterar valor na requisição. No parâmetro Nome do campo do bloco, inserimos o texto "horaComMinutoImpar" e, no Valor do campo, a variável "horaAtual".
  6. No parâmetro senão, insira os blocos imprime e criar texto com para imprimir o valor da requisição, utilizando o bloco Obter valor na requisição.


A função acima foi executada várias vezes por meio de requisições REST. O resultado dessas execuções pode ser visualizado na imagem a seguir. Em destaque, na imagem, vemos o resultado de impressão do bloco Obter valor na requisição.

Observe que todos os valores da requisição estão sem resultado, isso acontece porque foram feitas várias requisições à função e, em nenhuma delas, devido à condição utilizada, os blocos Inserir ou alterar valor na requisição e Obter valor na requisição foram executados ao mesmo tempo, diferente do Exemplo 1. Esse exemplo deixa claro que as variáveis associadas a uma requisição só podem ser utilizadas apenas durante a execução dessa requisição, sendo descartadas ao seu término.


Image Added

Figura 3.1 - Resultado das execuções da função da Figura 3

Exemplo 3

Para visualizar outro exemplo de uso do bloco Inserir ou alterar valor na requisição, consulte o tópico Paginação do tutorial Tratar recurso REST de terceiros no Cronapp. No tutorial apresentado, são detalhados os passos de configuração dos blocos de programação, fonte de dados e grade para tratar a paginação através do endereço de requisição de uma API.

Para trabalhar com a paginação, a fonte de dados necessita saber a quantidade total de elementos da API. Dessa forma, foi criada uma função utilizando o bloco Inserir ou alterar valor na requisição para guardar essa informação apenas no período de requisição à API. Além disso, para retornar o valor da variável de requisição na fonte de dados, foi criada outra função utilizando o bloco Obter valor na requisição. Consulte o tutorial para mais informações.

Nesta página

Índice

Inserir ou alterar valor na requisição

Cria ou altera valor da requisição passando o nome do campo e seu valor.

Aviso
titleObservação

Os valores definidos na requisição terão vida apenas durante o escopo da thread da requisição e deixam de existir ao final dela.

Parâmetros de entrada

NomeTipoDocParâmetro 1TextoNome do campoParâmetro 2TextoValor do campo

Compatibilidade

Image Removed Servidor

Exemplo

A função abaixo recebe o bloco Inserir ou alterar valor da requisição com o Nome do campo como "novaReq" e o Valor do campo como "Valor da requisição obtido", em seguida, o valor da requisição será impresso no console.

Image Removed

Figura 1 - Bloco Inserir ou alterar valor da requisição

Sobre request

Uma requisição é uma chamada ao servidor, como o clique de um botão, chamada de um bloco a partir de um evento da tela, atualização de uma grade ou mudança de página no navegador, todas essas ações geram uma nova request.

Informações
titleSaiba mais
Para um exemplo mais real de como utilizar esse bloco, consulte o tutorial Tratar recurso REST de terceiros no Cronapp.