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!
Comentários
0 comentário
Por favor, entre para comentar.