我正在使用一个API集,该集需要下拉会话密钥并在授权标头中用于后续调用服务。要添加到标头的值是X-CardConnect-SessionKey,请参见下面的示例。前20位数字,分号前面的所有内容,都需要包含在将来获得的服务调用中。
这就是我得到的 - >
X-CardConnect-SessionKey →9ffcd7dc737f4b9fbdccb299b9c55f4b;expires=2017-12-28T20:54:19.652Z
这就是我需要的:
X-CardConnect-SessionKey →9ffcd7dc737f4b9fbdccb299b9c55f4b
在Postman中,我使用以下内容将Session Key值解析为我的环境:
var data = responseHeaders
postman.setEnvironmentVariable ("X-CardConnect-SessionKey", data["X-
CardConnect-SessionKey"])
当然,当我只需要前20个数字时,完整的字符串被插入到环境中。有没有办法限制字符限制,以便只返回前20位数字?
谢谢!
您可以使用本机JS来split值或使用Lodash _.split()函数之一查看。
var data = "9ffcd7dc737f4b9fbdccb299b9c55f4b;expires=2017-12-
28T20:54:19.652Z"
postman.setEnvironmentVariable("test", data.split(';',1));
或者对于你需要的东西:
var data = responseHeaders
postman.setEnvironmentVariable("X-CardConnect-SessionKey", data.X-
CardConnect-SessionKey.split(';',1))
能够解决以下问题:
var data = responseHeaders
postman.setEnvironmentVariable ("X-CardConnect-SessionKey", data["X-CardConnect-SessionKey"])
var sessionheader = data["X-CardConnect-SessionKey"];
postman.setEnvironmentVariable ("X-CardConnect-SessionKey", sessionheader.substring(0, 32));