首页 > 解决方案 > 如何通过在 Swift 中提供标头来调用 REST 完整 API

问题描述

我对 Swift 很陌生,我们有一个 API 服务器,我们需要像这样传递 HEADERS:

内容类型:应用程序/json

会话:fb4e7f9b-0f31-4709-

我在看谷歌,最基本的例子使用HTTP url调用(即GET,POST)我是否需要使用一些第三方产品通过提供标头来调用REST API?

如果您提供一些指南和可能的示例文章,我将不胜感激,它通过提供不同类型的 HEADER 来展示如何进行 REST API 调用。

标签: iosswift

解决方案


通过使用 Alamofire,它非常简单。

let headers: HTTPHeaders = [
    "Content-Type": "application/json",
    "Session": "fb4e7f9b-0f31-4709-"
]

Alamofire.request("https://httpbin.org/headers", headers: headers).responseJSON { response in
   //Parse or print your response.
}

通过使用urlRequest

let header: HTTPHeaders = [
    "Content-Type": "application/json",
    "Session": "fb4e7f9b-0f31-4709-"
]
var urlRequest = URLRequest(url: URL(string: "your request url goes here."), cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10)
urlRequest.allHTTPHeaderFields = header
urlRequest.httpMethod = //.get, .post, .put
URLSession.shared.dataTask(with: urlRequest) { (data, response, error) in
            if let error = error {
                print(error)
            } else if let data = data ,let responseCode = response as? HTTPURLResponse {
                do {
                  // Parse your response here.
                   }
                }
                catch let parseJSONError {
                    print("error on parsing request to JSON : \(parseJSONError)")
                }
            }
        }.resume()


推荐阅读