شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید . اطلاعات
اکنون که نقطه پایانی هدف خود را تغییر داده اید، آماده هستید تا یک خط مشی به پروکسی خود اضافه کنید.
خط مشی یک جزء Edge است که می توانید از طریق پراکسی های API خود به نقاط مختلف جریان پیام متصل کنید. خطمشیها میتوانند قالبهای پیام را تغییر دهند، کنترل دسترسی را اعمال کنند، با سرویسهای راه دور تماس بگیرند، به کاربران اجازه دهند، محتوای پیام را برای تهدیدات احتمالی بررسی کنند و کارهای بیشتری انجام دهند.
در این آموزش، شما می خواهید سیاست XMLtoJSON را به پروکسی خود اضافه کنید. این خط مشی، بار پیام XML را به JSON تبدیل می کند. همچنین هدر Content-Type
پاسخ را تغییر می دهد.
برای افزودن خط مشی XML به JSON به پروکسی خود:
- رابط کاربری Edge را در مرورگر باز کنید و وارد شوید.
- روی API Proxies در پنجره اصلی کلیک کنید و یک پروکسی را انتخاب کنید. برای این مثال، پروکسی را که در مرحله 1 ایجاد کردید انتخاب کنید: ایجاد یک پراکسی API .
روی تب Develop کلیک کنید:
Edge ویرایشگر پروکسی API را نمایش می دهد.
در قسمت Navigator ، روی Proxy Endpoints > default > PreFlow کلیک کنید:
Edge ویرایشگر Flow را نمایش می دهد:
علاوه بر این، Edge پیکربندی پیشفرض نقطه پایانی پروکسی را در صفحه کد نمایش میدهد:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ProxyEndpoint name="default"> <Description/> <FaultRules/> <PreFlow name="PreFlow"> <Request/> <Response/> </PreFlow> <PostFlow name="PostFlow"> <Request/> <Response/> </PostFlow> <Flows/> <HTTPProxyConnection> <BasePath>/getstarted</BasePath> <Properties/> <VirtualHost>default</VirtualHost> <VirtualHost>secure</VirtualHost> </HTTPProxyConnection> <RouteRule name="default"> <TargetEndpoint>default</TargetEndpoint> </RouteRule> </ProxyEndpoint>
- برای افزودن یک خط مشی به پروکسی خود، روی دکمه + Step در پاسخ PreFlow (نیمه پایین ویرایشگر Flow) کلیک کنید:
Edge یک لیست طبقه بندی شده از سیاست ها را در کادر محاوره ای افزودن نمایش می دهد که می توانید به جریان خود اضافه کنید:
- به پایین بروید و خط مشی XML به JSON را در دسته Mediation انتخاب کنید.
نامهای پیشفرض را بگذارید و روی افزودن کلیک کنید.
Edge خط مشی جدید را به PreFlow پاسخ پیوست می کند:
توجه داشته باشید که وقتی روی Add کلیک میکنید، Edge کارهای زیر را انجام میدهد:
- خطمشی جدید را در زیر خطمشیها در قسمت Navigator اضافه میکند.
- خط مشی XML را به JSON در پنجره Flow اضافه می کند.
- پیکربندی XML خط مشی را در صفحه کد نمایش می دهد.
- روی ذخیره کلیک کنید تا نسخه فعلی با تغییرات ذخیره شود.
حالا آن را امتحان کنید! در یک پنجره ترمینال، دستور curl
زیر را اجرا کنید:
curl https://org_name-test.apigee.net/getstarted
کجا:
- org_name نام سازمانی است که Apigee هنگام ایجاد حساب Apigee خود به شما اختصاص داده است.
-
-test
محیط است. شما پروکسی جدید خود را در محیط "تست" در مرحله 1 مستقر کردید: یک پراکسی API ایجاد کنید . -
/getstarted
مسیر پایه پروکسی است.
یا می توانید همان URL را در مرورگر باز کنید.
شما باید پاسخ زیر را دریافت کنید:
{ "root": { "city": "San Jose", "firstName": "John", "lastName": "Doe", "state": "CA" } }
اگر بدنه پاسخ به این شکل نیست، بررسی کنید:
- نقطه پایان هدف شما "https://mocktarget.apigee.net/xml" است، همانطور که در مرحله 3 توضیح داده شده است: نقطه پایان هدف خود را تغییر دهید :
- اگر "سلام، مهمان!" به عنوان پاسخ، باید "/xml" را به انتهای نقطه پایانی هدف اضافه کنید.
- اگر 404 گرفتید، بررسی کنید که به "apigee.net" دسترسی دارید و نه "apigee.com".
- آخرین ویرایش پروکسی شما به کار گرفته شده است. همانطور که در Deploying and Undeploying a API Proxy توضیح داده شده است، دوباره پراکسی API خود را مستقر کنید.
برای دیدن هدرهای درخواست و پاسخ HTTP، پرحرفی را با گزینه -vs
curl
کنید ( v
پاسخ را پرمخاطب می کند، اما s
برخی از جزئیات کمتر جالب را سرکوب می کند). به عنوان مثال:
curl -vs https://ahamilton-eval-test.apigee.net/getstarted | python -m json.tool
شما باید پاسخی به شکل زیر دریافت کنید. توجه داشته باشید که هدر Content-Type
در پاسخ "application/json" است. خط مشی XML به JSON هدر را قبل از ارسال پاسخ تغییر می دهد.
* Trying 10.20.30.40... * TCP_NODELAY set * Connected to ahamilton-eval-test.apigee.net (10.20.30.40) port 443 (#0) ... > GET /getstarted HTTP/1.1 > Host: ahamilton-eval-test.apigee.net > User-Agent: curl/7.58.0 > Accept: */* > < HTTP/1.1 200 OK < Date: Fri, 25 May 2018 16:20:00 GMT < Content-Type: application/json;charset=UTF-8 < Content-Length: 77 < Connection: keep-alive < X-Powered-By: Apigee < Access-Control-Allow-Origin: * ... { [77 bytes data] { "root": { "city": "San Jose", "firstName": "John", "lastName": "Doe", "state": "CA" } }