Почему бы не получить ответ с одного URL? - PullRequest
0 голосов
/ 15 мая 2019

Я использую URLSession. Я не получаю никакой ошибки или ответа.

Работает с одним URL. Однако он не работает друг с другом.

Я также пытался percentencoding. Но это тоже не работает.

код ниже

let urlString = "https://stark-spire-93433.herokuapp.com/json"//This is not working
//let urlString = "https://jsonplaceholder.typicode.com/todos"//This is working
let config = URLSessionConfiguration.default
let session = URLSession(configuration: config)//URLSession.shared
var request = URLRequest(url: URL(string:urlString)!)
request.httpMethod = "GET"
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = try? JSONSerialization.data(withJSONObject: [], options: [])
let task = session.dataTask(with: request, completionHandler: { data, response, error -> Void in
    print("response---",response)
    print("error--",error)
    if data != nil {
        let json = try? JSONSerialization.jsonObject(with: data!)
        print("JSOn",json)

    } else {
        print("error data is nil")
    }

})
task.resume()

1 Ответ

2 голосов
/ 15 мая 2019

Слишком громоздкий код.

Этого достаточно

let url = URL(string:"https://stark-spire-93433.herokuapp.com/json")!
let task = URLSession.shared.dataTask(with: url) { data, response, error in
    guard let data = data else { print(error!); return }
    do {
        let json = try JSONSerialization.jsonObject(with: data)
        print("JSOn",json)

    } catch {
        print(error)
    }
}
task.resume()
...