URL'yi Yeniden Yaz

UYGULANANLAR: Tüm API Management katmanları

İlke, rewrite-uri aşağıdaki örnekte gösterildiği gibi bir istek URL'sini genel formundan web hizmeti tarafından beklenen forma dönüştürür.

  • Genel URL - http://api.example.com/storenumber/ordernumber

  • İstek URL'si - http://api.example.com/v2/US/hardware/storenumber&ordernumber?City&State

Bu ilke, bir insan ve/veya tarayıcı dostu URL'nin web hizmeti tarafından beklenen URL biçimine dönüştürülmesi gerektiğinde kullanılabilir. Bu ilke yalnızca bir sorgu dizesi içermeyen ve yalnızca kaynağın yolunu içeren (şema ve yetkiliden sonra) tamamen yapısal URL'ler olan temiz URL'ler, RESTful URL'ler, kullanıcı dostu URL'ler veya SEO kullanımı kolay URL'ler gibi alternatif bir URL biçimi kullanıma sunulurken uygulanmalıdır. Bu genellikle estetik, kullanılabilirlik veya arama motoru optimizasyonu (SEO) amacıyla yapılır.

Not

İlkenin öğelerini ve alt öğelerini ilke bildiriminde sağlanan sırayla ayarlayın. API Management ilkelerini ayarlama veya düzenleme hakkında daha fazla bilgi edinin.

İlke bildirimi

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

Özellikler

Adı Açıklama Zorunlu Varsayılan
şablonu Sorgu dizesi parametreleriyle gerçek web hizmeti URL'si. İlke ifadelerine izin verilir. İfadeler kullanıldığında, değerin tamamı bir ifade olmalıdır. Yes Yok
copy-unmatched-params Gelen istekteki sorgu parametrelerinin özgün URL şablonunda mevcut olup olmadığını, yeniden yazma şablonu tarafından tanımlanan URL'ye eklenip eklenmeyeceğini belirtir. İlke ifadelerine izin verilir. Hayır true

Kullanım

Kullanım notları

Sorgu dizesi parametrelerini yalnızca ilkeyi kullanarak ekleyebilirsiniz. Yeniden yazma URL'sine ek şablon yolu parametreleri ekleyemezsiniz.

Örnek

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

İlkelerle çalışma hakkında daha fazla bilgi için bkz: