我无法使用JavaScript获得Apigee标题的全部价值。仅返回部分标头值。
而不是得到:
Location: http://partners.api.skyscanner.net/apiservices/pricing/v1.0/c7b98b9cc3f14fb39b13645b0361bba7_ecilpojl_84BDF90D45EB6E187527B8F6DDD1B814/booking/16130-1409241445-CM,LA-4-10815-1409250800;10815-1410011920-LA,CM-4-16130-1410022313
我用逗号(,)之后的所有内容都得到了价值:
Location: http://partners.api.skyscanner.net/apiservices/pricing/v1.0/c7b98b9cc3f14fb39b13645b0361bba7_ecilpojl_84BDF90D45EB6E187527B8F6DDD1B814/booking/16130-1409241445-CM
我试过了两个:
var a = context.targetResponse.headers.Location;
var b = context.getVariable('response.header.Location');
此问题是否有解决方法?
答案 0 :(得分:1)
我认为这是因为Apigee网关可以将标题中的逗号理解为多值标题。要获得逗号分隔的多值标题,请尝试:
request.header.Location.values
或者,您可以确保目标服务器在Location标头中发送URL编码值。以这种方式逗号变为%2C。将其解析为单个值没有问题。
答案 1 :(得分:0)
你想尝试response.header。{header_name} .values? 我认为应该给你所有的价值。 让我知道这是如何解决的。