Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
APLICA-SE A: todas as camadas do Gerenciamento de API
A rewrite-uri política converte uma URL de solicitação de seu formulário público para a forma esperada pelo serviço web.
Use essa política quando precisar transformar uma URL amigável para humanos ou navegador no formato de URL esperado pelo serviço web. Aplique essa política apenas ao expor um formato alternativo de URL, como URLs limpas, URLs RESTful, URLs amigáveis para o usuário ou URLs amigáveis para SEO que sejam puramente estruturais e não contenham uma string de consulta, mas contenham apenas o caminho do recurso (após o esquema e a autoridade). Você costuma fazer essa mudança por motivos estéticos, de usabilidade ou otimização para mecanismos de busca (SEO).
Observação
Defina os elementos da política e os elementos filho na ordem fornecida na declaração da política. Saiba mais sobre como definir e editar as 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 | Obrigatório | Padrão |
|---|---|---|---|
| modelo | A URL real do serviço Web com quaisquer parâmetros de cadeia de consulta. Expressões de política são permitidas. Quando expressões são utilizadas, o valor inteiro deve ser uma expressão. | Sim | N/D |
| copy-unmatched-params | Especifica se parâmetros de consulta na requisição recebida que não estão presentes no template original de URL são adicionados à URL definida pelo template de reescrita. Expressões de política são permitidas. | Não | true |
Uso
- Seções de política: de entrada
- Escopos de política: global, espaço de trabalho, produto, API, operação
- Gateways: clássico, v2, consumo, auto-hospedado, espaço de trabalho
Observações de uso
Você só pode adicionar parâmetros de string de consulta usando a política. Você não pode adicionar parâmetros extras do caminho do template na URL reescrita.
Exemplos
Exemplo 1: Reescrita básica de URL
No exemplo a seguir, a URL pública é reescrita para corresponder ao formato da URL do serviço backend, e parâmetros de consulta são incluídos com base em outra lógica.
URL pública –
http://api.example.com/storenumber/ordernumberURL de Solicitação –
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 a seguir, a URL pública é reescrita para corresponder ao formato da URL do serviço 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 combinados
No exemplo a seguir, a URL pública é reescrita para corresponder ao formato da 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: Use a expressão de política no template
No exemplo a seguir, a política usa expressões no template para construir a requisição 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údo relacionado
Para obter mais informações sobre como trabalhar com políticas, consulte:
- Tutorial: Transformar e proteger sua API
- Referência de Política para uma lista completa das instruções de política e suas configurações
- Expressões de política
- Definir ou editar políticas
- Reutilizar configurações de política
- Repositório de snippets de política
- Repositório de playground de políticas
- Kit de ferramentas de políticas do Gerenciamento de API do Azure
- Obter assistência do Copilot para criar, explicar e solucionar problemas de políticas