Cette page s'applique à Apigee et à Apigee hybrid.
Consultez la documentation d'
Apigee Edge.
La règle ParsePayload extrait les opérations logiques des charges utiles de requêtes structurées (telles que JSON-RPC 2.0) dans les variables de flux de messages. Cette fonctionnalité permet à l'administrateur du proxy d'implémenter une logique de routage conditionnel directement basée sur le contenu des requêtes client, plutôt que sur des chemins de ressources ou des paramètres de requête de base.
Cette règle est une règle extensible et son utilisation peut avoir des conséquences sur le coût ou l'utilisation, en fonction de votre licence Apigee. Pour en savoir plus sur les types de règles et les implications en termes d'utilisation, consultez la section Types de règles.
Élément <ParsePayload>
Spécifie les propriétés d'analyse de validation appliquées aux cycles d'évaluation de la logique d'application.
| Obligatoire ? | Obligatoire |
| Élément parent | N/A |
| Éléments enfants |
<Source><PayloadType><Protocol>
|
Syntaxe
L'élément ParsePayload utilise la syntaxe suivante :
<ParsePayload continueOnError="[false|true]" enabled="[true|false]" name="policy_name"> <Source>request</Source> <PayloadType>JSON-RPC-2.0</PayloadType> <Protocol>MCP</Protocol> </ParsePayload>
Exemple
L'exemple suivant montre une configuration standard pour la règle ParsePayload :
<ParsePayload continueOnError="false" enabled="true" name="parse-payload-mcp"> <Source>request</Source> <PayloadType>JSON-RPC-2.0</PayloadType> <Protocol>MCP</Protocol> </ParsePayload>
<Source>
Indique le contexte du conteneur de requête/réponse traité immédiatement par le biais d'évaluations d'exécution.
<Source>request</Source>
| Attribut | Description | Par défaut | Présence |
|---|---|---|---|
| N/A | Valeur du nœud de texte. La valeur doit être request ou response. |
request |
Facultatif |
<PayloadType>
Régit les structures d'évaluation globales reconnues concernant les exigences de traitement des données.
<PayloadType>JSON-RPC-2.0</PayloadType>
| Attribut | Description | Par défaut | Présence |
|---|---|---|---|
| N/A | Valeur du nœud de texte. Valeurs acceptées : JSON-RPC-2.0. |
N/A | Obligatoire |
<Protocol>
Détermine les comportements de mise en forme correspondant précisément aux déclarations d'interface cible.
<Protocol>MCP</Protocol>
| Attribut | Description | Par défaut | Présence |
|---|---|---|---|
| N/A | Valeur du nœud de texte. Valeur acceptée : MCP. |
N/A | Obligatoire |
Variables de flux extraites
Les routines d'analyse remplissent les variables de flux prédéfinies suivantes en fonction de la charge utile.
| Nom de la variable | Description |
|---|---|
apigee.payload.operation |
Identifiant d'exécution construit.
|
apigee.payload.json-rpc.request.method |
Champ method de la requête JSON-RPC (par exemple, tools/call ou tools/list). |
apigee.payload.json-rpc.request.id |
Champ id de la requête JSON-RPC. |
apigee.payload.json-rpc.request.params.name |
Champ name dans params (renseigné pour tools/call afin d'identifier l'outil). |
apigee.payload.json-rpc.request.params.arguments.{arg_name} |
Arguments transmis dans l'objet arguments. Les valeurs de chaîne sont stockées directement. Les objets ou tableaux imbriqués sont stockés sous forme de chaînes JSON sérialisées. |
Exemple
Pour la charge utile de la requête JSON-RPC suivante avec des arguments simples :
{ "jsonrpc": "2.0", "id": "req_001", "method": "tools/call", "params": { "name": "get_weather", "arguments": { "location": "San Francisco, CA", "forecast_days": 3 } } }
La règle renseigne les variables suivantes :
| Variable | Valeur |
|---|---|
apigee.payload.operation |
tools/call/get_weather |
apigee.payload.json-rpc.request.method |
tools/call |
apigee.payload.json-rpc.request.id |
req_001 |
apigee.payload.json-rpc.request.params.name |
get_weather |
apigee.payload.json-rpc.request.params.arguments.location |
San Francisco, CA |
apigee.payload.json-rpc.request.params.arguments.forecast_days |
3 |