Partilhar via


Reescrever URL

APLICA-SE A: Todas as camadas de gerenciamento de API

A rewrite-uri política converte uma URL de solicitação de sua forma pública para o formulário esperado pelo serviço Web, conforme mostrado no exemplo a seguir.

  • URL pública - http://api.example.com/storenumber/ordernumber

  • URL do pedido - http://api.example.com/v2/US/hardware/storenumber&ordernumber?City&State

Esta política pode ser usada quando um URL humano e/ou amigável para o navegador deve ser transformado no formato de URL esperado pelo serviço Web. Essa política só precisa ser aplicada ao expor um formato de URL alternativo, como URLs limpas, URLs RESTful, URLs amigáveis ou URLs amigáveis para SEO que são URLs puramente estruturais que não contêm uma cadeia de caracteres de consulta e, em vez disso, contêm apenas o caminho do recurso (após o esquema e a autoridade). Isto é frequentemente feito para fins estéticos, de usabilidade ou de 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
aninhado 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 os parâmetros de consulta na solicitação de entrada nã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

Notas de utilização

Você só pode adicionar parâmetros de cadeia de caracteres de consulta usando a política. Não é possível adicionar parâmetros de caminho de modelo extras na URL de reescrita.

Exemplo

<policies>
    <inbound>
        <base />
        <rewrite-uri template="/v2/US/hardware/{storenumber}&{ordernumber}?City=city&State=state" />
    </inbound>
    <outbound>
        <base />
    </outbound>
</policies>
<!-- 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 -->
<!-- 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 -->

Para obter mais informações sobre como trabalhar com políticas, consulte: