現在、私はAzure API Managementのpolicysで作業していますが、興味深いのは、応答本体から返される値を抽出することです。API管理ポリシーでレスポンスボディから価値を引き出す方法は?
<send-one-way-request mode="new">
<set-url>http://requestb.in/xje199xj</set-url>
<set-method>POST</set-method>
<set-header name="Content-Type" exists-action="override">
<value>application/json</value>
</set-header>
<set-body>@{
//JObject or string?
string response = context.Response.Body.As<string>(preserveContent: true);
//something here..
}
</set-body>
</send-one-way-request>
応答は次のようになります。私はこの場合「TRA」で、「resourceCode」属性から返されてthatsの値を取得してから、新しいjオブジェクトを作成したい
"getBookableResourcesResponse": { "getBookableResourcesResult": { "hasError": false, "errorCode": 0, "BookableResource": [ { "resourceCode": "TRA", "description": "Trailer", "group": "F", "subGroup": "C", "category": "R", "dialogType": "CARGO", "orgCode": "DECK", "length": 14, "taraWeight": "7000", "grossWeight": "25001", "AddResource": [ { "resourceCode": "EXPFIN", "description": "Export Finland", "dialogType": "UNDEFINED", "amount": "0", "ticketType": "", "orgCode": "EXPFIN", "required": "false" }.....
私は私のAzure関数に送ることができます。
{ "resourceCode": "valueFromResponseBody" }