Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
UYGULANANLAR: Tüm API Management katmanları
Polinen rewrite-uri , istek URL'sini genel formundan, web servisinin beklediği forma dönüştürür.
Bu politikayı, web servisinin beklediği URL formatına insan dostu veya tarayıcı dostu bir URL'yi dönüştürmeniz gerektiğinde kullanın. Bu politika, yalnızca temiz URL'ler, RESTful URL'ler, kullanıcı dostu URL'ler veya tamamen yapısal olup sorgu dizisi içermeyen sadece kaynağın yolunu (şema ve otoriteden sonra) içeren SEO dostu URL'ler gibi alternatif URL formatlarını açıklarken uygulanır. Bu değişikliği genellikle estetik, kullanılabilirlik veya arama motoru optimizasyonu (SEO) amaçları için yaparsınız.
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. | Evet | Yok |
| copy-unmatched-params | Gelen istekte orijinal URL şablonunda olmayan sorgu parametrelerinin yeniden yazma şablonu tarafından tanımlanan URL'ye eklenip eklenmediğ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, çalışma alanı
Kullanım notları
Sadece bu politikayı kullanarak sorgu dizisi parametreleri ekleyebilirsiniz. Yeniden yazılmış URL'ye ekstra şablon yolu parametreleri ekleyemezsiniz.
Örnekler
Örnek 1: Temel URL yeniden yazma
Aşağıdaki örnekte, halka açık URL, arka uç hizmet URL formatına uyacak şekilde yeniden yazılır ve sorgu parametreleri diğer mantıklara göre dahil edilir.
Genel URL -
http://api.example.com/storenumber/ordernumberİstek URL'si -
http://api.example.com/v2/US/hardware/storenumber/ordernumber?City&State
<policies>
<inbound>
<base />
<rewrite-uri template="/v2/US/hardware/{storenumber}/{ordernumber}?City=city&State=state" />
</inbound>
<outbound>
<base />
</outbound>
</policies>
Örnek 2: Eşleşmemiş parametreleri kopyala
Aşağıdaki örnekte, halka açık URL, arka uç hizmet URL formatına uyacak şekilde yeniden yazılır ve politika, eşleşmeyen sorgu parametrelerini yeni URL'ye kopyalar.
<!-- 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 -->
Örnek 3: Eşleşmeyen parametreleri kopyalama
Aşağıdaki örnekte, genel URL, backend servis URL formatına uyacak şekilde yeniden yazılır ve politika, eşleşmeyen sorgu parametrelerini kaldırır.
<!-- 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 -->
Örnek 4: Şablonda politika ifadesi kullanın
Aşağıdaki örnekte, politika şablondaki ifadeleri kullanarak arka uça isteği oluşturur.
<policies>
<inbound>
<base />
<set-variable name="apiVersion" value="/v3" />
<rewrite-uri template="@("/api" + context.Variables["apiVersion"] + context.Request.Url.Path)" />
</inbound>
</policies>
İlgili ilkeler
İlgili içerik
İlkelerle çalışma hakkında daha fazla bilgi için bkz:
- Öğretici: API'nizi dönüştürme ve koruma
- İlke deyimlerinin ve ayarlarının tam listesi için ilke başvurusu
- İlke ifadeleri
- İlkeleri ayarlama veya düzenleme
- İlke yapılandırmalarını yeniden kullanma
- İlke kod parçacıkları deposu
- Policy örnekleri deposu
- Azure API Management ilke araç seti
- Politikalar oluşturmak, açıklamak ve sorun gidermek için Copilot yardımı alın