我有一个来自客户端应用程序的请求,我需要有条件地解析发送的请求字段中的1。
例如假设我发布了带有两个字段的请求正文
{"ID":"123","IPAddress":"127.0.0.1"}
或
{"ID":"123","IPAddress":"127.0.0.1, 127.0.0.2"}
我需要检查IP地址是否设置了逗号分隔,以及是否解析了最左边的IPAddress
如何使用Azure API管理网关API完全实现这一目标?政策?
我还没有测试过,但是您应该可以对其使用机体策略:
<policies>
<inbound>
<base />
<set-body>
@{
var body = context.Request.Body.As<JObject>();
if (body.Property("IPAddress").Contains(","))
{
var ips = body.Property("IPAddress").Split(",");
body.Property("IPAddress").Value = ips[0].Trim();
}
}
</set-body>
</inbound>
</policies>