我正在使用一个API集,该API集需要下拉会话密钥并在授权标头中用于后续调用服务。要添加到标题的值为 X-CardConnect-SessionKey 请参阅下面的示例。前20位数字,分号前面的所有内容,都需要包含在将来获得的服务调用中。
这就是我得到的 - >
let texture = SCNMaterial()
var newImage: UIImage?
if let textureImage = UIImage(named: "rgb image with only gray") {
UIGraphicsBeginImageContext(textureImage.size)
let width = textureImage.size.width
let height = textureImage.size.height
textureImage.draw(in: CGRect(x: 0, y: 0, width: width, height: height))
newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
}
texture.diffuse.contents = newImage
这就是我需要的:
X-CardConnect-SessionKey →9ffcd7dc737f4b9fbdccb299b9c55f4b;expires=2017-12-28T20:54:19.652Z
在Postman中我使用以下内容将Session Key值解析到我的环境中:
X-CardConnect-SessionKey →9ffcd7dc737f4b9fbdccb299b9c55f4b
当然,当我只需要前20位时,完整的字符串会插入到环境中。有没有办法限制字符限制,以便只返回前20位数字?
谢谢!
答案 0 :(得分:0)
您可以使用本机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))
答案 1 :(得分:0)
能够解决以下问题:
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));