Regravar URL

APLICA-SE A: todas as camadas do Gerenciamento de API

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

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

  • URL de Solicitação – http://api.example.com/v2/US/hardware/storenumber&ordernumber?City&State

Essa política pode ser usada quando uma URL simplificada para humanos e/ou navegadores precisar ser transformado na URL esperada pelo serviço Web. Essa política só precisa ser aplicada ao expor um formato de URL alternativo, como URLs limpas, URLs RESTful, URLs fáceis de usar ou URLs SEO amigáveis que são URLs puramente estruturais que não contêm uma sequência de consulta e, em vez disso, contêm apenas o caminho do recurso (após o esquema e a autoridade). Frequentemente, isso é feito para fins estéticos, de usabilidade ou de otimização do mecanismo de pesquisa (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

Name Descrição Obrigatório Padrão
template 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 os parâmetros de consulta na solicitação de entrada não presentes no modelo de URL original são adicionados ao URL definido pelo modelo regravado. Expressões de política são permitidas. Não true

Uso

Observações de uso

Você pode adicionar somente parâmetros de cadeia de consulta usando a política. Não é possível adicionar parâmetros extras no caminho do modelo 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: