Réécriture d'URL

S’APPLIQUE À : Tous les niveaux de Gestion des API

La stratégie rewrite-uri convertit une URL de demande de sa forme publique en une forme attendue par le service web, comme le montre l’exemple suivant.

  • URL publique : http://api.example.com/storenumber/ordernumber

  • URL de la demande : http://api.example.com/v2/US/hardware/storenumber&ordernumber?City&State

Cette stratégie peut être utilisée lorsqu’une URL compréhensible par un humain et/ou un navigateur doit être transformée au format d’URL attendu par le service web. Cette stratégie ne doit être appliquée qu’en cas d’exposition d’un autre format d’URL, comme les URL propres, les URL RESTful, les URL conviviales ou les URL adaptées au SEO qui sont des URL purement structurelles ne contenant pas de chaîne de requête et ne contenant que le chemin d’accès de la ressource (après le schéma et l’autorité). C'est souvent le cas pour des raisons d'esthétique, de simplicité d'utilisation ou bien pour l'optimisation des résultats de recherche (SEO).

Notes

Définissez les éléments enfants et de stratégie dans l’ordre fourni dans l’instruction de stratégie. En savoir plus sur comment définir ou modifier des stratégies du service Gestion des API.

Instruction de la stratégie

<rewrite-uri template="uri template" copy-unmatched-params="true | false" />

Attributs

Nom Description Obligatoire Default
template URL de service web réelle avec les paramètres de chaîne de requête. Les expressions de stratégie sont autorisées. Lorsque vous utilisez des expressions, la valeur entière doit être une expression. Oui N/A
copy-unmatched-params Spécifie si les paramètres de requête dans la requête entrante non présents dans le modèle d’URL d’origine sont ajoutés à l’URL définie par le modèle de réécriture. Les expressions de stratégie sont autorisées. Non true

Usage

Notes d’utilisation

Vous ne pouvez ajouter que des paramètres de chaîne de requête avec la stratégie. Vous ne pouvez pas ajouter de paramètres de chemin d’accès de modèle dans l’URL de réécriture.

Exemple

<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 -->

Pour plus d’informations sur l’utilisation des stratégies, consultez :