Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
APLICA-SE A: Todas as camadas de gerenciamento de API
A rewrite-uri política converte um URL de pedido do seu formulário público para o formulário esperado pelo serviço web.
Use esta política quando precisar de transformar um URL amigável para humanos ou navegador no formato de URL esperado pelo serviço web. Aplique esta política apenas ao expor um formato alternativo de URL, como URLs limpos, URLs RESTful, URLs amigáveis para o utilizador ou URLs amigáveis para SEO que sejam puramente estruturais e não contenham uma cadeia de consulta, mas que contenham apenas o caminho do recurso (após o esquema e a autoridade). Muitas vezes faz esta alteração por razões estéticas, de usabilidade ou otimização para motores de busca (SEO).
Nota
Defina os elementos da política e os elementos filho na ordem fornecida na declaração de política. Saiba mais sobre como definir ou editar políticas de Gerenciamento de API.
Declaração de política
<rewrite-uri template="uri template" copy-unmatched-params="true | false" />
Atributos
| Nome | Descrição | Necessário | Predefinição |
|---|---|---|---|
| modelo | A URL real do serviço Web com quaisquer parâmetros de cadeia de caracteres de consulta. São permitidas expressões de política. Quando as expressões são usadas, todo o valor deve ser uma expressão. | Sim | N/A |
| cópia-params incomparáveis | Especifica se parâmetros de consulta no pedido recebido que não estão presentes no modelo de URL original são adicionados à URL definida pelo modelo de reescrita. São permitidas expressões de política. | Não | true |
Utilização
- Secções políticas: entrada
- Âmbitos de política: global, área de trabalho, produto, API, operação
- Gateways: clássico, v2, consumo, auto-hospedado, espaço de trabalho
Notas de utilização
Só podes adicionar parâmetros de sequência de consulta usando a política. Não podes adicionar parâmetros extra do caminho do template na URL reescrita.
Examples
Exemplo 1: Reescrita básica de URL
No exemplo seguinte, a URL pública é reescrita para corresponder ao formato do URL do serviço de backend, e os parâmetros de consulta são incluídos com base noutra lógica.
URL pública -
http://api.example.com/storenumber/ordernumberURL do pedido -
http://api.example.com/v2/US/hardware/storenumber/ordernumber?City&State
<policies>
<inbound>
<base />
<rewrite-uri template="/v2/US/hardware/{storenumber}/{ordernumber}?City=city&State=state" />
</inbound>
<outbound>
<base />
</outbound>
</policies>
Exemplo 2: Copiar parâmetros não correspondidos
No exemplo seguinte, a URL pública é reescrita para corresponder ao formato do URL do serviço de backend, e a política copia quaisquer parâmetros de consulta não correspondidos para a nova URL.
<!-- Assuming incoming request is /get?a=b&c=d and operation template is set to /get?a={b} -->
<policies>
<inbound>
<base />
<rewrite-uri template="/put" />
</inbound>
<outbound>
<base />
</outbound>
</policies>
<!-- Resulting URL will be /put?c=d -->
Exemplo 3: Não copie parâmetros não correspondidos
No exemplo seguinte, a URL pública é reescrita para corresponder ao formato do URL do serviço backend, e a política elimina quaisquer parâmetros de consulta não correspondidos.
<!-- Assuming incoming request is /get?a=b&c=d and operation template is set to /get?a={b} -->
<policies>
<inbound>
<base />
<rewrite-uri template="/put" copy-unmatched-params="false" />
</inbound>
<outbound>
<base />
</outbound>
</policies>
<!-- Resulting URL will be /put -->
Exemplo 4: Usar expressão de política no modelo
No exemplo seguinte, a política utiliza expressões no template para construir o pedido para o backend.
<policies>
<inbound>
<base />
<set-variable name="apiVersion" value="/v3" />
<rewrite-uri template="@("/api" + context.Variables["apiVersion"] + context.Request.Url.Path)" />
</inbound>
</policies>
Políticas relacionadas
Conteúdos relacionados
Para obter mais informações sobre como trabalhar com políticas, consulte:
- Tutorial: Transforme e proteja sua API
- Referência de política para uma lista completa de declarações de política e suas configurações
- Expressões de política
- Definir ou editar políticas
- Reutilizar configurações de política
- Recompra de trechos de política
- Política de recompra de parques infantis
- Kit de ferramentas de política de Gerenciamento de API do Azure
- Obtenha assistência do Copilot para criar, explicar e resolver problemas com políticas