AlamofireObjectMapper падает при преобразовании JSON в объект - PullRequest
0 голосов
/ 20 мая 2019

Модель пользователя:

import Foundation
import ObjectMapper

class User: Mappable {

    // Variables
    var userInfo: UserInfo?
    var token: String?

    required init?(map: Map) {

    }

    func mapping(map: Map) {
        self.userInfo <- map["user_info"]
        self.token <- map["token"]
    }
}

class UserInfo: Mappable {

    // Variables
    var fullName: String?
    var firstName: String?
    var lastName: String?
    var email: String?
    var employeeCode: Int?

    required init?(map: Map) {

    }

    func mapping(map: Map) {
        self.fullName <- map["full_name"]
        self.firstName <- map["first_name"]
        self.lastName <- map["last_name"]
        self.email <- map["email_id"]
        self.employeeCode <- map["emp_code"]
    }
}

Фактический JSON:

{
    "user_info": {
        "full_name": "test full name",
        "first_name": "test first name",
        "last_name": "test last name",
        "email_id": "a@b.com",
        "emp_code": 111
    },
    "token": "------"
}

Запрос Alamofire:

AF.request("\(TimelyUrls.shared.kServerUrl)\(TimelyUrls.shared.kLoginUrl)", method: .post, parameters: requestDict, encoding: JSONEncoding.default, headers: TimelyUrls.shared.HEADER).responseObject { (response: DataResponse<User>) in
            print(response.result)
}  

Сбой получен responseObject:

enter image description here

Примечание : Запрос работает нормально.Когда я пытаюсь выполнить простой запрос Alamofire, он работает:

AF.request("\(TimelyUrls.shared.kServerUrl)\(TimelyUrls.shared.kLoginUrl)", method: .post, parameters: requestDict, encoding: JSONEncoding.default, headers: TimelyUrls.shared.HEADER).responseJSON { (response) in
            print(response)
}
...