Kebijakan ParsePayload

Kebijakan yang dapat diperluas

Halaman ini berlaku untuk Apigee dan Apigee hybrid.

Lihat dokumentasi Apigee Edge.

Kebijakan ParsePayload mengekstrak operasi logis dari payload permintaan terstruktur (seperti JSON-RPC 2.0) ke dalam variabel alur pesan. Fungsi ini memungkinkan admin proxy menerapkan logika perutean bersyarat secara langsung berdasarkan konten permintaan klien, bukan jalur resource dasar atau parameter kueri.

Kebijakan ini adalah Kebijakan yang dapat diperluas dan penggunaan kebijakan ini mungkin memiliki implikasi biaya atau penggunaan, bergantung pada lisensi Apigee Anda. Untuk mengetahui informasi tentang jenis kebijakan dan implikasi penggunaan, lihat Jenis kebijakan.

Elemen <ParsePayload>

Menentukan properti parsing validasi yang diterapkan terhadap siklus evaluasi logika aplikasi.

Wajib? Wajib
Elemen Induk t/a
Elemen Turunan <Source>
<PayloadType>
<Protocol>

Sintaksis

Elemen ParsePayload menggunakan sintaksis berikut:

<ParsePayload continueOnError="[false|true]" enabled="[true|false]" name="policy_name">
    <Source>request</Source>
    <PayloadType>JSON-RPC-2.0</PayloadType>
    <Protocol>MCP</Protocol>
</ParsePayload>

Contoh

Contoh berikut menunjukkan konfigurasi standar untuk kebijakan ParsePayload:

<ParsePayload continueOnError="false" enabled="true" name="parse-payload-mcp">
    <Source>request</Source>
    <PayloadType>JSON-RPC-2.0</PayloadType>
    <Protocol>MCP</Protocol>
</ParsePayload>

<Source>

Menunjukkan konteks container permintaan/respons yang diproses secara langsung melalui evaluasi runtime.

<Source>request</Source>
Atribut Deskripsi Default Kehadiran
T/A Nilai node teks. Harus berupa request atau response. request Opsional

<PayloadType>

Mengatur struktur evaluasi keseluruhan yang diakui terkait persyaratan pemrosesan data.

<PayloadType>JSON-RPC-2.0</PayloadType>
Atribut Deskripsi Default Kehadiran
T/A Nilai node teks. Nilai yang didukung: JSON-RPC-2.0. T/A Wajib

<Protocol>

Menentukan perilaku pemformatan yang sesuai dengan deklarasi antarmuka target.

<Protocol>MCP</Protocol>
Atribut Deskripsi Default Kehadiran
T/A Nilai node teks. Nilai yang didukung: MCP. T/A Wajib

Variabel Alur yang Diekstrak

Setelah kebijakan berhasil dieksekusi, kebijakan akan mengisi variabel alur yang diawali dengan nama instance kebijakan. Variabel ini mengikuti pola parsepayload.policyName.suffix, dengan policyName adalah nilai atribut name dalam konfigurasi XML kebijakan. Konvensi penamaan ini konsisten dengan kebijakan Apigee lainnya seperti VerifyAPIKey dan memungkinkan beberapa kebijakan ParsePayload dalam proxy yang sama untuk mempertahankan namespace variabel yang berbeda.

Untuk kebijakan bernama parse-payload-mcp, variabel berikut ditetapkan:

Nama Variabel Deskripsi
parsepayload.parse-payload-mcp.operation ID eksekusi yang dibuat.
  • Untuk tools/call, nilainya adalah tools/call/{name} (misalnya, tools/call/get_weather), yang membedakan alat tertentu yang dipanggil.
  • Untuk tools/list, nilainya adalah tools/list, yang digunakan saat mencantumkan alat yang tersedia tanpa menargetkan alat tertentu.
parsepayload.parse-payload-mcp.json-rpc.request.method Kolom method dari permintaan JSON-RPC (misalnya, tools/call atau tools/list).
parsepayload.parse-payload-mcp.json-rpc.request.id Kolom id dari permintaan JSON-RPC.
parsepayload.parse-payload-mcp.json-rpc.request.params.name Kolom name di dalam params (diisi untuk tools/call guna mengidentifikasi alat).
parsepayload.parse-payload-mcp.json-rpc.request.params.arguments.{arg_name} Argumen yang diteruskan dalam objek arguments. Nilai string disimpan secara langsung; objek atau array bertingkat disimpan sebagai string JSON yang diserialisasi.

Contoh

Untuk payload permintaan JSON-RPC berikut dengan argumen sederhana:

{
  "jsonrpc": "2.0",
  "id": "req_001",
  "method": "tools/call",
  "params": {
    "name": "get_weather",
    "arguments": {
      "location": "San Francisco, CA",
      "forecast_days": 3
    }
  }
}

Kebijakan ini mengisi variabel berikut:

Variabel Nilai
parsepayload.parse-payload-mcp.operation tools/call/get_weather
parsepayload.parse-payload-mcp.json-rpc.request.method tools/call
parsepayload.parse-payload-mcp.json-rpc.request.id req_001
parsepayload.parse-payload-mcp.json-rpc.request.params.name get_weather
parsepayload.parse-payload-mcp.json-rpc.request.params.arguments.location San Francisco, CA
parsepayload.parse-payload-mcp.json-rpc.request.params.arguments.forecast_days 3