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

מוצג המסמך של 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 ל-JSON ממירה הודעות קלט בפורמט XML ל-JSON.

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

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

טרנספורמציה של XML באמצעות XSL

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

בדוגמת המדיניות הבאה, המדיניות מקבלת הודעה בפורמט 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.

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