Manipulando Destination da API por JS

Temos atualmente algumas situações no design de APIS em que precisamos customizar o destination em tempo de execução da API conforme alguma necessidade específica.

Uma forma de ter este controle pelo fluxo da API é adicionando um custom interceptor JS no request da chamada que altere o destination.

Basicamente iremos utilizar o comando abaixo para modificar o destination, temos um exemplo de sua utilização a seguir. 

Imaginando que temos um Backend com o seguinte destination (https://meu-back-end.com/financeira/cartoes/v1/cartao/{idCartao}) que precisa do path param {id}, porém queremos realizar a chamada da API com query param (https://minha-api.com/cartao-credito/v1/cartao?id=1). 

Para que o backend aceite esta chamada temos que fazer a transformação do destination na execução do fluxo. Vamos precisar do seguinte JS no fluxo de request:

 

// Pega o query param id 

var id = $request.getAllQueryParams().get("id");

//cria a nova url com o path param
var newUrl = $call.destinationUri.toString() + id;

//defini a nova url como destination da API
$call.setDestinationUri(new java.net.URI(newUrl));

 

Desta forma podemos adaptar algumas situações que precisamos processar alguma informação da request e direcionar para o endereço certo na API, alguns artigos de manipulação destas informações podem ser úteis nestas construções.

Confira também nosso artigo sobre manipulação de atributos da chamada!

 

 

Tem mais dúvidas? Envie uma solicitação

Comentários

Powered by Zendesk