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
- İlke bölümleri: gelen
- İlke kapsamları: genel, çalışma alanı, ürün, API, işlem
- Ağ geçitleri: klasik, v2, tüketim, şirket içinde barındırılan
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 -->
İlgili ilkeler
İlgili içerik
İlkelerle çalışma hakkında daha fazla bilgi için bkz:
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin