繁体   English   中英

如何在iOS app上调用部署在AWS中的REST API?

[英]How to call REST API deployed in AWS on iOS app?

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

在此处输入图像描述

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

尝试实现Postman中生成的Swift代码:

在此处输入图像描述

但是这个实现返回一个禁止的错误消息,所以我相信需要一些不同的实现来连接 AWS

你能告诉我们你到目前为止对URLSession的尝试吗?

正如@burnsi 所说,您展示了在 Postman 中为您工作的原始标头并尝试复制这些标头。

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

    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)\nResponse: \(response?.debugDescription)\nError: \(error?.debugDescription)")  
    })

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM