【问题标题】:How to call REST API deployed in AWS on iOS app?如何在 iOS 应用程序上调用部署在 AWS 中的 REST API?
【发布时间】:2022-11-23 02:27:28
【问题描述】:

我是 AWS 的新手,正在尝试在 iOS 应用程序上实现 Web 服务 API GET 调用。所以以下是我拥有的邮递员,并试图在 iOS 应用程序中实现相同的功能;

但是我对在 URLSession 请求上设置这个标头感到困惑。我没有看到太多关于此的文档。期待在 iOS 应用程序上实现此功能的一些帮助。

【问题讨论】:

  • 查看 Postman 控制台。该请求应记录在案。这应该为您提供足够的信息,说明您需要设置的标题的方式和内容。
  • 尝试过,通过设置授权标头,但得到“禁止”错误响应

标签: ios swift amazon-web-services


【解决方案1】:

你能告诉我们你到目前为止用 URLSession 尝试过什么吗?

正如@burnsi 所说,您可以查看在 Postman 中为您工作的原始标头,并尝试复制这些标头。

某些标头应始终用于所有请求(给定特定的URLSession),因此您应该考虑使用httpAdditionalHeaders配置您的会话:

    let configuration = URLSessionConfiguration.default
    configuration.httpAdditionalHeaders = [
        "Accept-Encoding": "application/json",
        "Content-Type": "application/json"
    ]
    let session: URLSession = URLSession(configuration: configuration)

对于特定于请求或可能随时间变化的标头(如授权令牌),您应该使用 setValue(_:forHTTPHeaderField:) 将它们添加到请求本身:

   var request: URLRequest = URLRequest(url: url)
   request.setValue("XYZ", forHTTPHeaderField: "Authorization")

然后你应该使用以下方式执行请求:

    session.dataTask(with: request, completionHandler: { (data, response, error) in
        print("Data: (data?.debugDescription)
Response: (response?.debugDescription)
Error: (error?.debugDescription)")  
    })

让我们知道此代码为您打印的内容,我会尽力提供更多帮助!

【讨论】:

    猜你喜欢
    • 2014-05-25
    • 2016-12-25
    • 2013-12-19
    • 2016-06-23
    • 1970-01-01
    • 1970-01-01
    • 2014-03-30
    • 2019-12-23
    • 2021-07-29
    相关资源
    最近更新 更多