إعادة كتابة عنوان URL
ينطبق على: جميع مستويات إدارة واجهة برمجة التطبيقات
يحول النهج rewrite-uri
عنوان URL للطلب من شكله العام إلى النموذج الذي تتوقعه خدمة الويب، كما هو موضح في المثال التالي.
Public URL -
http://api.example.com/storenumber/ordernumber
Request URL -
http://api.example.com/v2/US/hardware/storenumber&ordernumber?City&State
يمكن استخدام هذا النهج عندما يجب تحويل عنوان URL سهل الاستخدام و/ أو متوافق مع المستعرض إلى تنسيق عنوان URL الذي تتوقعه خدمة الويب. يجب تطبيق هذا النهج فقط عند الكشف عن تنسيق URL بديل، مثل عناوين URL النظيفة أو عناوين URL RESTful أو عناوين URL سهلة الاستخدام أو عناوين URL سهلة الاستخدام ل SEO وهي عناوين URL هيكلية بحتة لا تحتوي على سلسلة استعلام وتحتوي بدلا من ذلك على مسار المورد فقط (بعد المخطط والمرجع). يتم ذلك غالبًا لأغراض جمالية أو قابلية الاستخدام أو تحسين محرك البحث (SEO).
إشعار
تعيين عناصر النهج والعناصر التابعة بالترتيب الوارد في بيان النهج. تعلم كيفية إعداد نُهج APIM أو تعديلها.
نهج السياسة
<rewrite-uri template="uri template" copy-unmatched-params="true | false" />
سمات
الاسم | الوصف | مطلوبة | افتراضي |
---|---|---|---|
القالب | عنوان URL الفعلي لخدمة الويب مع أي معلمات لسلسلة الاستعلام. يتم السماح بتعبيرات النهج. عند استخدام التعبيرات، يجب أن تكون القيمة بأكملها تعبيرا. | نعم | غير متوفر |
copy-unmatched-params | يحدد ما إذا كانت معلمات الاستعلام في الطلب الوارد غير موجودة في قالب URL الأصلي تتم إضافتها إلى عنوان URL المحدد بواسطة قالب إعادة الكتابة. يتم السماح بتعبيرات النهج. | لا | true |
الاستخدام
- أقسام النهج:الواردة.
- نطاقات النهج: العمومية، ومساحة العمل، والمنتج، وواجهة برمجة التطبيقات، والتشغيل
- البوابات: الكلاسيكية، الإصدار 2، الاستهلاك، المستضافة ذاتيا، مساحة العمل
ملاحظات الاستخدام
يمكنك فقط إضافة معلمات سلسلة طلب البحث باستخدام النهج. لا يمكنك إضافة معلمات مسار قالب إضافية في عنوان URL لإعادة الكتابة.
مثال
<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 -->
النهج ذات الصلة
المحتوى ذو الصلة
لمزيد من المعلومات حول العمل مع النُهج، راجع: