Как записать структуру данных из Alamofire?

Допустим есть такая структура:

struct ConfigSerializer: Decodable {
    var phone: String = ""
    var facebookUrl: String = ""
    var telegramUrl: String = ""
    var instagramUrl: String = ""
}

И такой запрос:

AF.request("http://someurl/api/config/").response { response in
    guard let data = response.data else { return }
    do {
        let decoder = JSONDecoder()
        decoder.keyDecodingStrategy = .convertFromSnakeCase
        let result = try decoder.decode(ConfigSerializer.self, from: data)
        print(result)
    } catch let error {
        print("\(error.localizedDescription)")
    }
}

И при этом если данные будут следующего формата:

{
    "phone": "+7 999 999 99 99",
    "facebook_url": "https://fb.com",
    "telegram_url": "https://t.me",
    "instagram_url": "https://instagram.com"
}

то все запишется корректно (обратите внимание на facebook_url и facebookUrl).

Все.

Если же у вас встречается проблема “The data couldn’t be read because it is missing” - это значит, что данные не совпадают с ответом. Достаточно сделать опциональными переменные в структуре - и вы увидите, где ошибка.

swift