Как вызвать REST full API, предоставив заголовки в Swift - PullRequest
0 голосов
/ 14 октября 2019

Я новичок в Swift, у нас есть API-сервер, на котором нам нужно передавать заголовки, например:

Тип содержимого: application / json

Сессия: fb4e7f9b-0f31-4709-

Я искал в Google, самый простой пример использует HTTP URL-вызов (например, GET, POST). Нужно ли использовать какой-либо сторонний продукт для вызова REST API, предоставляя заголовки?

Буду признателен, если вы предоставите несколько рекомендаций и, возможно, несколько примеров статей, в которых показано, как сделать вызов REST API, предоставив заголовки другого типа.

Ответы [ 3 ]

2 голосов
/ 14 октября 2019

Используя 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()

2 голосов
/ 14 октября 2019
import Foundation

let url = URL(string: "")!
var request = URLRequest(url: url)
request.allHTTPHeaderFields = [
  "Content-Type": "application/json",
  "Session": "fb4e7f9b-0f31-4709-"
]

URLSession.shared.dataTask(with: request) { (data, response, error) in
  guard error == nil else { return }
  guard let data = data, let response = response else { return }
  // handle data
}.resume()
2 голосов
/ 14 октября 2019

Документация типа URLRequest описывает все различные свойства, которые вы можете установить. Вам необходимо создать экземпляр URLRequest, а затем использовать URLSession для выполнения запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...