Maker - Parâmetros do cabeçalho da requisição REST
No Maker é possível criar um fluxo e definir para ter acesso externamente como uma API REST. Com tudo, as vezes não basta definir um fluxo para consumo, também é necessário receber parâmetros para fazer validações ou algo que influência na regra de negócios.
Passar esses parâmetros na formação da URL pode tornar a informação vulnerável devido a possível fragilidade na captura desses valores. Uma das formas mais utilizadas na passagem de parâmetros é através do cabeçalho do documento que está sendo enviado na requisição.
Foi informado aos usuários da ferramenta que a Softwell está desenvolvendo uma nova função, pois hoje o Maker ainda não possuí uma função para obter esses parâmetros do cabeçalho tornando menos seguro a maneira que é passado os valores.
Enquanto essa funcionalidade ainda não está disponível, resolvi criar duas funções cujo objetivo é poder obter esses parâmetros.
REST - Obter parâmetro do cabeçalho
Com essa função é possível passar o nome de uma chave e retornar um valor em String do parâmetro desejado.
REST - Obter todos os parâmetros do cabeçalho
Já essa outra função retorna um objeto Map contendo todos os parâmetros do cabeçalho.
Para testar o uso das funções, foi criado dois fluxos na camada servidor e habilitado a opção "Web" para ser disponibilizados como serviços Web. Também foi utilizado o Postman para consumir esses serviços.
Em ambos os testes foi criado o parâmetro "parametroTeste" dentro do cabeçalho e depois retornado num JSON.
Obtendo somente um parâmetro do cabeçalho
Obtendo todos os parâmetros do cabeçalho
Abaixo é possível fazer o download de um arquivo FRZ para ser importado ao seu projeto. Nesse arquivo contém as duas funções e os dois fluxos mencionados.
Arquivo:
maker_rest_cabecalho_1.0.frz
Ambiente de desenvolvimento:
Maker Studio 1.0.0.501
Webrun 1.0.0.502.1 UTF8
API de funções 10.0.502
JRE 8u221
Tomcat 8.5.42
Passar esses parâmetros na formação da URL pode tornar a informação vulnerável devido a possível fragilidade na captura desses valores. Uma das formas mais utilizadas na passagem de parâmetros é através do cabeçalho do documento que está sendo enviado na requisição.
Foi informado aos usuários da ferramenta que a Softwell está desenvolvendo uma nova função, pois hoje o Maker ainda não possuí uma função para obter esses parâmetros do cabeçalho tornando menos seguro a maneira que é passado os valores.
Enquanto essa funcionalidade ainda não está disponível, resolvi criar duas funções cujo objetivo é poder obter esses parâmetros.
REST - Obter parâmetro do cabeçalho
Com essa função é possível passar o nome de uma chave e retornar um valor em String do parâmetro desejado.
protected final Variant osRESTObterParametroCabecalho(Variant key) throws Exception { return VariantPool.get(request.getHeader(key.toString())); }
REST - Obter todos os parâmetros do cabeçalho
Já essa outra função retorna um objeto Map contendo todos os parâmetros do cabeçalho.
protected final Variant osRESTObterTodosParametroCabecalho() throws Exception { java.util.Mapmap = new java.util.HashMap (); java.util.Enumeration headerNames = request.getHeaderNames(); while (headerNames.hasMoreElements()) { java.lang.String key = (java.lang.String) headerNames.nextElement(); java.lang.String value = request.getHeader(key); map.put(key, value); } return VariantPool.get(map); }
Para testar o uso das funções, foi criado dois fluxos na camada servidor e habilitado a opção "Web" para ser disponibilizados como serviços Web. Também foi utilizado o Postman para consumir esses serviços.
Em ambos os testes foi criado o parâmetro "parametroTeste" dentro do cabeçalho e depois retornado num JSON.
Obtendo somente um parâmetro do cabeçalho
Obtendo todos os parâmetros do cabeçalho
Abaixo é possível fazer o download de um arquivo FRZ para ser importado ao seu projeto. Nesse arquivo contém as duas funções e os dois fluxos mencionados.
Arquivo:
maker_rest_cabecalho_1.0.frz
Ambiente de desenvolvimento:
Maker Studio 1.0.0.501
Webrun 1.0.0.502.1 UTF8
API de funções 10.0.502
JRE 8u221
Tomcat 8.5.42
Comentários
Postar um comentário