עיצוב, גישה והמרה של הודעות

אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X.
מידע

אפשר להשתמש במדיניות שכלולה ב-Apigee Edge כדי לשנות את ההודעות שעוברות דרך שרתי ה-proxy של ה-API. באמצעות מדיניות, אתם יכולים:

  • המרת הודעות בין פורמטים, למשל מ-XML ל-JSON.
  • הגדרת ערכי משתנים מתוכן ההודעה ויצירת הודעות מערכי משתנים.
  • אפשר להשתמש בקוד פרוצדורלי, כמו JavaScript,‏ Java ו-Python, כדי לטפל בהודעות ובנתונים בדרכים מורכבות יותר.

באופן כללי, כשמשתמשים במדיניות הזו, מציינים את הקלט והפלט כמשתני זרימה. בזמן הריצה, Apigee Edge מאחזר את ערך הקלט ממשתנה מקור וכותב את ערך הפלט למשתנה פלט.

בנושא הזה נסביר על היכולות האלה. מידע טכני ומלא יותר זמין בדפי העזר בנושא מדיניות לכל מוצר.

טיפול פשוט ב-XML וב-JSON

‫Apigee Edge כולל מדיניות שמקלה על ההמרה בין XML ל-JSON, ועל שינוי של XML באמצעות XSL.

המרת JSON ל-XML

מדיניות JSON ל-XML מקבלת קלט JSON וממירה אותו ל-XML.

בדוגמה הבאה למדיניות, המדיניות מקבלת הודעה בפורמט JSON מהמשתנה request, ואז מחליפה את ערך המשתנה בהודעה בפורמט XML. הקלט מצוין ברכיב <Source>, והפלט מצוין ברכיב <OutputVariable>.

<JSONToXML name="jsontoxml">
     <Source>request</Source>
     <OutputVariable>request</OutputVariable>
</JSONToXML>

המרה של XML ל-JSON

המדיניות XML to JSON ממירה הודעת קלט בפורמט XML לפורמט JSON.

בדוגמה הבאה למדיניות, המדיניות מקבלת הודעה בפורמט XML מהמשתנה response, ואז מחליפה את ערך המשתנה בהודעה בפורמט JSON. הקלט מצוין ברכיב <Source>, והפלט מצוין ברכיב <OutputVariable>.

<XMLToJSON name="ConvertToJSON">
   <OutputVariable>response</OutputVariable>
   <Source>response</Source>
</XMLToJSON>

שינוי XML באמצעות XSL

אפשר להשתמש במדיניות XSL Transform כדי לשנות הודעות באמצעות XSL. לדוגמה, אחרי המרה של מטען ייעודי (payload) בפורמט JSON ל-XML, אפשר להשתמש במדיניות XSL Transform עם גיליון סגנונות כדי לבצע את ההמרה שאתם צריכים.

בדוגמה הבאה למדיניות, המדיניות מקבלת הודעה בפורמט XML מהמשתנה response, ואז מחליפה את ערך המשתנה בהודעה בפורמט my_transform.xsl. הקלט מצוין ברכיב <Source>, והפלט מצוין ברכיב <OutputVariable>.

<XSL name="TransformXML">
    <ResourceURL>xsl://my_transform.xsl</ResourceURL>
    <Source>response</Source>
    <OutputVariable>response</OutputVariable>
</XSL>

    <Source>request</Source>
    <ResourceURL>xsl://XSL-Transform-1.xsl</ResourceURL>
    <OutputVariable/>

טיפול בנתונים משתנים

הטיפול בנתונים בתוך שרת proxy כולל בדרך כלל עבודה פשוטה עם נתוני מצב כערכים של משתני זרימה. לרוב אפשר לעשות את זה באמצעות מדיניות שמקבלת או מגדירה ערכים של משתנים. לדוגמה, אולי תרצו לעצב ערכים של משתנים להודעה, או לחלץ את התוכן של הודעה כדי להגדיר ערכים של משתנים.

חשוב לעיין בהפניות לשתי המדיניות הבאות:

יצירת טרנספורמציות מורכבות יותר

לטיפול בנתונים ברמה מורכבת שלא נכללת ביכולות של המדיניות, אפשר להשתמש בשפות פרוצדורליות כמו JavaScript,‏ Java או Python.

בדרך כלל, זה כולל כתיבת קוד באחת מהשפות האלה, ואז הפעלת הקוד ממדיניות שספציפית לשפה. מידע נוסף זמין במאמר בנושא שילוב של קוד פרוצדורלי.