Nachrichten gestalten, abrufen und konvertieren

Diese Seite gilt für Apigee und Apigee Hybrid.

Apigee Edge-Dokumentation aufrufen

Sie können die in Apigee enthaltenen Richtlinien verwenden, um die Nachrichten zu ändern, die durch Ihre API-Proxys gesendet werden. Mit Richtlinien können Sie Folgendes tun:

  • Nachrichten in andere Formate umwandeln, z. B. von XML in JSON
  • Legen Sie Variablenwerte aus dem Nachrichteninhalt fest und erstellen Sie Nachrichten aus Variablenwerten.
  • Verwenden Sie prozeduralen Code, wie JavaScript, Java und Python, um Nachrichten und Daten auf komplexere Weise zu verarbeiten.

Wenn Sie diese Richtlinien verwenden, geben Sie die Eingabe und Ausgabe als Ablaufvariablen an. Zur Laufzeit ruft Apigee den Eingabewert aus einer Quellvariable ab und schreibt den Ausgabewert in eine Ausgabevariable.

In diesem Thema werden diese Funktionen vorgestellt. Umfassendere und technische Informationen finden Sie in den jeweiligen Richtlinienreferenzen.

Einfache Handhabung für XML und JSON

Apigee enthält Richtlinien, die die Konvertierung zwischen XML und JSON und die Umwandlung von XML mit XSL erleichtern.

JSON in XML konvertieren

Die JSONtoXML-Richtlinie übernimmt die JSON-Eingabe und konvertiert sie in XML.

Im folgenden Richtlinienbeispiel wird mit der Richtlinie eine Nachricht im JSON-Format aus der Variable request genommen und dann der Variablenwert durch eine XML-formatierte Nachricht ersetzt. Die Eingabe wird im Element <Source> angegeben, während die Ausgabe im Element <OutputVariable> angegeben wird.

<JSONToXML name="jsontoxml">
     <Source>request</Source>                     ---> INPUT
     <OutputVariable>request</OutputVariable>          OUTPUT --->
</JSONToXML>

XML in JSON konvertieren

Die XMLtoJSON-Richtlinie konvertiert XML-Eingabenachrichten in das JSON-Format.

Im folgenden Richtlinienbeispiel wird von der Richtlinie eine Nachricht im XML-Format aus der Variable response genommen. Anschließend wird der Variablenwert durch eine mit JSON formatierte Nachricht ersetzt. Die Eingabe wird im Element <Source> angegeben, während die Ausgabe im Element <OutputVariable> angegeben wird.

<XMLToJSON name="ConvertToJSON">
   <Source>response</Source>                     ---> INPUT
   <OutputVariable>response</OutputVariable>          OUTPUT --->
</XMLToJSON>

XML mit XSL umwandeln

Sie können die XSLTransform-Richtlinie verwenden, um Nachrichten mithilfe von XSL zu transformieren. Nach der Konvertierung einer JSON-Nutzlast in XML können Sie beispielsweise die XSL-Transformationsrichtlinie mit einem Stylesheet verwenden, um die gewünschte Transformation durchzuführen.

Im folgenden Richtlinienbeispiel wird von der Richtlinie eine Nachricht im XML-Format aus der Variable response genommen. Anschließend wird der Variablenwert durch eine mit my_transform.xsl formatierte Nachricht ersetzt. Die Eingabe wird im Element <Source> angegeben, während die Ausgabe im Element <OutputVariable> angegeben wird.

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

Variablendaten verarbeiten

Die Datenverarbeitung innerhalb eines Proxys umfasst häufig die Arbeit mit Statusdaten als Ablaufvariablenwerte. Dazu können Sie häufig eine Richtlinie verwenden, mit der Variablenwerte abgerufen oder festgelegt werden. Beispielsweise können Sie Variablenwerte in eine Nachricht formatieren oder den Inhalt einer Nachricht extrahieren, um Variablenwerte festzulegen.

Achten Sie dabei auf Referenzen zu den folgenden zwei Richtlinien:

Komplexere Transformationen erstellen

Für die Datenverarbeitung, bei der die Komplexität über die eingebauten Richtlinien hinausgeht, können Sie Programmiersprachen wie JavaScript, Java oder Python verwenden.

Dazu muss Code in einer dieser Sprachen geschrieben und der Code dann mit einer für die Sprache spezifischen Richtlinie aufgerufen werden. Weitere Informationen dazu finden Sie unter Verfahrenscode einbinden.