【问题标题】:How to make requests to connect to third party APIs in Vapor?如何发出请求以连接到 Vapor 中的第三方 API?
【发布时间】:2017-05-18 13:42:52
【问题描述】:

在服务器端 swift 的 Vapor 框架中,我想使用从第三方 API 获得的信息来响应请求。例如,我收到一个获取城市温度的​​请求,我想连接到雅虎 API 以获取温度然后将其发送回去。我需要下载像 Alamofire 这样的软件包吗?或者在 Vapor 中有内置的方法吗?

【问题讨论】:

  • 请添加更多详细信息。你的问题不清楚。
  • @NileshSingh 嗨,对于不清楚的问题,我很抱歉。我已经更新了这个问题。希望对你有帮助
  • @naif 在您的next question 中,您似乎正在使用drop.client。在 StackOverflow,如果某个答案对您有帮助,建议您使用勾选标记按钮将其标记为“已接受”。

标签: swift3 vapor


【解决方案1】:

Vapor 中有一个内置的 HTTP 客户端;它被称为Client

向您的第三方 API 发出 GET 请求:

let apiResponse = try drop.client.get("https://api.com")

您可以在查询字符串中传递您的查询参数,或者使用方便的字典方法:

let apiResponse = try drop.client.get("https://api.com", query: ["q": queryString])

Client 还支持POST,或任何其他 HTTP 方法。

【讨论】:

  • 由于没有立即响应,是否需要某种 Promises 实现?
  • @DylanReich drop.client 同步返回。如果您正在组合来自两个或多个远程 API 的数据,那么您可能希望使用 Promises(或简称 GCD)并行运行请求并一起返回。
猜你喜欢
  • 2017-09-20
  • 1970-01-01
  • 1970-01-01
  • 2016-11-11
  • 2019-08-10
  • 2012-04-16
  • 2020-02-16
  • 1970-01-01
  • 2017-04-30
相关资源
最近更新 更多