1

我正在尝试连接到 Bamboo HR 的 API,并且我已经设法使其curl与 Swift Foundation 的URLRequest/ URLSession(以及较旧的 Express node.js 应用程序)一起工作。

但是,当尝试通过该方法使用Vapor 的客户端.get()时,我200从 BambooHR 获得了成功的响应 - 但响应.body是空的。

这是代码片段:

key 和 {myDomain} 是示例中的占位符

let encodedKey = "\(key):x".utf8.base64String
let directoryRootUrl = "https://api.bamboohr.com/api/gateway.php/{myDomain}/v1/employees/directory"

let response = try drop.client.get(
    directoryRootURL,
    headers: [
        "Accept": "application/json",
        "Authorization": "Basic \(encodedKey)",
        "Host": "api.bamboohr.com"
    ])

当我这样做时print(response),这就是显示的内容:

Response
- HTTP/1.0 200 OK
- Headers:
    Connection: close
    Vary: User-Agent
    Server: Apache
    Content-Security-Policy:  {...}
    Date: Mon, 16 Jan 2017 00:26:31 GMT
    Content-Type: application/json
    X-Content-Type-Options: nosniff
- Body:

我想知道我是否对 Vapor 做错了什么,或者它是否是一个错误。

4

1 回答 1

1

就像托比格里芬建议的那样,设置:

drop.client = FoundationClient.self

创建Droplet工作后。

于 2017-01-16T05:10:04.320 回答