אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X. מידע
אחרי שמשנים את נקודת הקצה של היעד, אפשר להוסיף מדיניות לשרת ה-proxy.
מדיניות היא רכיב של Edge שאפשר לצרף לנקודות שונות בזרימת ההודעות דרך שרתי ה-proxy של ה-API. מדיניות יכולה לשנות פורמטים של הודעות, לאכוף בקרת גישה, להתקשר לשירותים מרוחקים, לאשר משתמשים, לבדוק את תוכן ההודעות כדי לזהות איומים פוטנציאליים ועוד.
במדריך הזה תוסיפו את מדיניות XMLtoJSON לשרת ה-proxy. המדיניות הזו ממירה את מטען הייעודי (payload) של הודעת XML ל-JSON. היא גם משנה את הכותרת Content-Type של התגובה.
כדי להוסיף את מדיניות ה-XML ל-JSON לשרת ה-proxy:
- פותחים את ממשק המשתמש של Edge בדפדפן ומתחברים.
- לוחצים על API Proxies בחלון הראשי ובוחרים שרת proxy. בדוגמה הזו, בוחרים את ה-proxy שיצרתם בשלב 1: יצירת proxy ל-API.
לוחצים על הכרטיסייה פיתוח:

ב-Edge מוצג עורך ה-API Proxy.
בחלונית Navigator, לוחצים על Proxy Endpoints > default > PreFlow:

עורך התהליך מוצג ב-Edge:

בנוסף, Edge מציג את הגדרת ברירת המחדל של נקודת הקצה של ה-Proxy בחלונית Code:
<?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>- כדי להוסיף מדיניות לשרת ה-proxy, לוחצים על הלחצן + שלב בקטע response PreFlow (החלק התחתון של הכלי לעריכת זרימת נתונים):

בתיבת הדו-שיח Add, מוצגת רשימה של כללי מדיניות שמחולקת לקטגוריות. אפשר להוסיף אותם לזרימה:

- גוללים למטה ובוחרים במדיניות XML to JSON בקטגוריה Mediation (גישור).
משאירים את השמות שמוגדרים כברירת מחדל ולוחצים על הוספה.
Edge מצרף את המדיניות החדשה ל-PreFlow של התגובה:

שימו לב: כשלוחצים על הוספה, Edge מבצע את הפעולות הבאות:
- המדיניות החדשה מתווספת לקטע מדיניות בחלונית סרגל הניווט.
- הוספת מדיניות XML ל-JSON לחלונית Flow.
- הקובץ XML של הגדרות המדיניות מוצג בחלונית Code.
- לוחצים על שמירה כדי לשמור את השינויים בגרסה הנוכחית.
רוצים לנסות? בחלון המסוף, מריצים את הפקודה curl הבאה:
curl https://org_name-test.apigee.net/getstarted
כאשר:
- org_name הוא שם הארגון ש-Apigee הקצתה לכם כשיצרתם את חשבון Apigee.
-
-testהיא הסביבה. פרסתם את ה-proxy החדש בסביבת הבדיקה בשלב 1: יצירת proxy ל-API. -
/getstartedהוא נתיב הבסיס של ה-Proxy.
אפשר גם לפתוח את אותה כתובת URL בדפדפן.
אמורה להתקבל התגובה הבאה:
{
"root": {
"city": "San Jose",
"firstName": "John",
"lastName": "Doe",
"state": "CA"
}
}אם גוף התגובה לא נראה כמו הדוגמה הזו, צריך לבדוק את הדברים הבאים:
- נקודת הקצה של היעד היא https://mocktarget.apigee.net/xml, כפי שמתואר בקטע
שלב 3: שינוי נקודת הקצה של היעד:
- אם התשובה היא "Hello, Guest!", צריך להוסיף /xml בסוף נקודת הקצה של היעד.
- אם מקבלים שגיאת 404, צריך לוודא שאתם ניגשים לכתובת apigee.net ולא לכתובת apigee.com.
- הגרסה האחרונה של ה-proxy שלך נפרסה. נסו לפרוס מחדש את ה-proxy ל-API כמו שמתואר במאמר פריסה של proxy ל-API וביטול הפריסה שלו.
כדי לראות את כותרות הבקשה והתגובה של HTTP, מפעילים את האפשרות verbosity ב-curl באמצעות האפשרות -vs (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" } }