Получение ответа 200, но не показывает значение json - PullRequest
0 голосов
/ 10 мая 2019

enter image description here Я написал сетевой запрос с использованием "wordsapi", и я получаю статус 200, но полученный ответ не в json.

Мой код собирается и запускается, мне просто нужен ответ в json.

    let wordsAPI = 
    "https://wordsapiv1.p.mashape.com/words/money/synonyms"
    let wordsAPIEndPoint = NSURL(string: wordsAPI)
    let request = NSMutableURLRequest(url: wordsAPIEndPoint! as 
     URL)

    request.setValue("mapkey", forHTTPHeaderField: "X-Mashape-Key")
    request.httpMethod = "GET"
    let session = URLSession.shared

    let synonymResponse = session.dataTask(with: request as 
     URLRequest) { (data, response, error) -> Void in
        if let resp = response as? HTTPURLResponse {
           print(resp)
        }
     }
     synonymResponse.resume()

// ответ, который я получаю

    { Status Code: 200, Headers {
    "Accept-Ranges" =     (
    bytes
    );
    "CF-RAY" =     (
     "4d4d9aacabdccf5c-IAD"
    );
    Connection =     (
    "keep-alive"
    );
    "Content-Length" =     (
    30
    );
    "Content-Type" =     (
    "application/json; charset=utf-8"
     );Date =     (
    "Fri, 10 May 2019 17:24:00 GMT"
      );

Мне нужно, чтобы мой ответ был в формате json для синонимов любого значения, которое я установил в качестве своей конечной точки. В данном случае это «деньги»

1 Ответ

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

В завершение необходимо использовать data переменную, которая содержит полученные данные json

let wordsAPI = "https://wordsapiv1.p.mashape.com/words/money/synonyms"
let wordsAPIEndPoint = URL(string: wordsAPI)
var request = URLRequest(url: wordsAPIEndPoint!) 
request.setValue("mapkey", forHTTPHeaderField: "X-Mashape-Key")
request.httpMethod = "GET"

URLSession.shared.dataTask(with: request) { (data, response, error) -> Void in
    guard let data = data else { return }
    let res = try! JSONDecoder().decode(Root.self,from:data)
    print(res.synonyms)
}.resume()

struct Root:Codable {
  let word:String
  let synonyms:[String]
}
...