Esse artigo tem como objetivo explicar um pouco sobre como manipular path param(s) na url da requisição.
Abaixo é possível visualizar um exemplo prático:
O primeiro passo é ter a API configurada com o ambiente deployado e um recurso criado. O recurso deve conter uma variável dinâmica. Veja o exemplo abaixo:
Note na imagem acima que a variável dinâmica é id-safepayuser e a mesma se encontra em meio a um par de chaves “{}”.
Com o recurso criado, o segundo passo é inserir um destination no fluxo da API.
Feito isso, usando o postman, fizemos uma chamada para o recurso em questão:
Abaixo, podemos visualizar o trace da chamada realizada:
Na imagem acima, podemos ver que a chamada feita foi encaminhada com o sucesso para o back end. No entanto, note que a variável dinâmica ainda permanece na rota.
'https://api-suporte.sensedia.com/v1/teste/suporte/seller/%7Bid-safepayuser%7D/minha-loja'
Isso acontece por que a mesma ainda não foi substituída pelo path param. Abaixo, iremos refazer o mesmo processo, porém vamos usar path param no lugar da variável dinâmica.
Via postman, realizamos a mesma chamada:
Note na imagem acima, que embora a chamada seja a mesma, existe uma pequena diferença:
No lugar da variável {id-safepayuser} foi passado o valor 12345, desta forma o GET irá buscar os dados referentes a esse ID em questão.
https://api-suporte.sensedia.com/v1/teste/suporte/seller/12345/minha-loja
Abaixo, veja o trace da chamada:
Na imagem acima, podemos ver que a chamada feita foi encaminhada com o sucesso para o back end. No entanto, note que a variável dinâmica foi substituída pelo ID 12345, ID este que informamos na URL no momento da request.
Um outro ponto sobre path param é a possibilidade de recuperá-los de forma customizada via Java Script. Para isso é necessário manipular o objeto $call.getPathParam.
No exemplo abaixo iremos usar o cenário anterior onde realizamos uma chamada para o recurso /seller/12345/minha-loja, no qual /12345/ é o valor do path param {id-safepayuser}. No entanto, antes de realizar a chamada, precisamos customizar o interceptor JS. Abaixo é possível visualizar o passo a passo para essa customização:
O primeiro passo é inserir o interceptor no fluxo da API, veja na imagem abaixo:
No interceptor, será necessário inserir o seguinte código:
var pathParam = $call.getPathParam().get("id-safepayuser");
$console.debug("pathParam", pathParam);
Basicamente, a primeira linha armazena o conteúdo de id-safepayuser na variável pathParam. O conteúdo armazenado deve ser o valor passado na requisição no lugar da variável dinâmica ({id-safepayuser}).
A segunda linha foi colocada com o objetivo de verificar de fato o que está sendo passado no path param. Na imagem abaixo, podemos ver o código mencionado inserido no interceptor juntamente com o debug habilitado, dessa forma será possível visualizar o valor de (id-safepayuser).
Veja a imagem abaixo:
Em seguida, é necessário clicar no botão de save e após isso fazer o update da API e realizar uma chamada. Veja o print abaixo:
Em seguida, ao analisar o trace vemos que o interceptor customizado foi executado normalmente:
No trace, ao clicar no ícone representado por um inseto (debug do JS) podemos visualizar a informação solicitada que é o valor passado no path param. Veja:
Veja que a informação retornada pelo interceptor é a mesma que passamos no conteúdo da requisição no lugar da variável dinâmica.
Ao concluir este artigo, podemos entender algumas dicas sobre a utilização do path param, bem como o seu uso via um interceptor customizado em JavaScript.
Comentários
0 comentário
Por favor, entre para comentar.