إعادة كتابة عنوان 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

الاستخدام

ملاحظات الاستخدام

يمكنك فقط إضافة معلمات سلسلة طلب البحث باستخدام النهج. لا يمكنك إضافة معلمات مسار قالب إضافية في عنوان 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 -->

لمزيد من المعلومات حول العمل مع النُهج، راجع: