> ## Content Index
> Fetch the complete content index at: https://www.azurebrasil.cloud/llms.txt
> Use this file to discover other available public pages before exploring further.

# Ajustando URLs de Paginação no Azure API Management
- URL: https://www.azurebrasil.cloud/blog/ajustando-urls-de-paginacao-no-azure-api-management/
- Published: 2024-10-09T14:29:06.000Z
- Updated: 2024-10-09T14:29:06.000Z
- Author: Rafael dos Santos

Recentemente, me deparei com um desafio em um projeto que estava desenvolvendo: o JSON de resposta da API trazia os links de paginação, porém esses links apontavam para a URL do host original, e não para o Azure API Management (APIM), que era o gateway correto que deveria ser utilizado pelos consumidores da API.

Após analisar as possíveis soluções, encontrei uma maneira simples e eficiente de ajustar isso utilizando um recurso nativo do Azure API Management. A seguir, vou compartilhar os detalhes e como você pode fazer o mesmo no seu ambiente.

![](https://storage.ghost.io/c/00/52/0052dced-0017-4d07-b190-1f5c48e0ab59/content/images/2024/09/image-36.png)

### O Problema

Ao retornar uma lista paginada de resultados de uma API, é comum incluir os links de navegação para as próximas páginas. No entanto, os links retornados estavam usando a URL original da API, em vez da URL exposta pelo Azure API Management. Isso pode causar problemas quando consumidores externos utilizam o APIM como o único ponto de contato com a API.

### A Solução

O Azure API Management oferece um recurso nativo para manipular e ajustar as URLs de resposta, sem precisar modificar o código da aplicação ou API em si. Utilizando as políticas de transformação de conteúdo, podemos interceptar o JSON de resposta e reescrever os links de navegação conforme necessário.

### Passo a Passo

#### 1\. Configurando a Política de Transformação

No portal do Azure, navegue até o seu serviço do Azure API Management e vá até a API que precisa da correção nas URLs de navegação.

1. Acesse o editor de políticas e escolha a operação que retorna a resposta paginada.
2. No bloco de políticas, adicione uma política de `inbound` para ajustar a URL.

Aqui está um exemplo de como essa política pode ser configurada:

```xml
<inbound>
  <base />
  <set-backend-service base-url="https://api.management.url" />
</inbound>

<outbound>
  <base />
  <redirect-content-urls />
</outbound>
```

#### 2\. Ajustando a URL no JSON de Resposta

A parte mais importante é garantir que os links de `next` e `previous` sejam ajustados para o APIM. Utilizando o método `redirect-content-urls`, podemos reescrever a URL base da resposta, direcionando os consumidores corretamente para o gateway.

#### 3\. Testando e Validando

Após aplicar as políticas, teste a API através do portal do Azure para garantir que os links estão corretos. Você verá que os links de navegação agora apontam para o Azure API Management em vez do host original.

![](https://storage.ghost.io/c/00/52/0052dced-0017-4d07-b190-1f5c48e0ab59/content/images/2024/09/image-37.png)

### Benefícios da Abordagem

- **Sem alterações no código da aplicação**: Essa solução é implementada diretamente no gateway, evitando a necessidade de modificar a lógica da API.
- **Escalabilidade**: O mesmo padrão pode ser aplicado para outras APIs ou endpoints de forma fácil e centralizada.
- **Manutenção Simplificada**: Qualquer ajuste nas URLs ou no padrão de resposta pode ser feito diretamente no Azure APIM.

[Azure API Management policy reference - redirect-content-urlsReference for the redirect-content-urls policy available for use in Azure API Management. Provides policy usage, settings, and examples.![](https://storage.ghost.io/c/00/52/0052dced-0017-4d07-b190-1f5c48e0ab59/content/images/icon/favicon-1.ico)Microsoft Learndlepow![](https://storage.ghost.io/c/00/52/0052dced-0017-4d07-b190-1f5c48e0ab59/content/images/thumbnail/open-graph-image-1.png)](https://learn.microsoft.com/en-us/azure/api-management/redirect-content-urls-policy?ref=azurebrasil.cloud)

[Azure API Management policy reference - find-and-replaceReference for the find-and-replace policy available for use in Azure API Management. Provides policy usage, settings, and examples.![](https://storage.ghost.io/c/00/52/0052dced-0017-4d07-b190-1f5c48e0ab59/content/images/icon/favicon-2.ico)Microsoft Learndlepow![](https://storage.ghost.io/c/00/52/0052dced-0017-4d07-b190-1f5c48e0ab59/content/images/thumbnail/open-graph-image-2.png)](https://learn.microsoft.com/en-us/azure/api-management/find-and-replace-policy?ref=azurebrasil.cloud)

### Conclusão

Esse método de ajuste de URLs de navegação paginada no Azure API Management demonstra o poder e a flexibilidade das políticas nativas do APIM. Sem a necessidade de tocar no código da API, conseguimos garantir que os consumidores externos tenham a experiência correta ao navegar pelos dados paginados.

Se você estiver enfrentando um problema semelhante, recomendo experimentar esse recurso nativo do Azure API Management. É uma solução prática e eficiente para manipular as respostas da API de forma dinâmica.