Мы используем Alamofire с Moya и Moya-ObjectMapper для обработки вызовов API. ответ от сервера, как показано ниже:Обработка ответа Moya-ObjectMapper
{
"userid" : "1",
"token" : "abc"
}
ObjectMapper
не в состоянии справиться с этим и всегда бросает исключение.
Error info: JSONMapping(Status Code: 200, Data Length: 313)
В то же время, он может обрабатывать ответ в этом формате:
[
{
"email":["validation.unique"]
}
]
Я проверить, что JSON
ответ в правильном формате. Мой фрагмент кода здесь:
struct SignupNLoginResponse: Mappable {
var token: String?
var userID: String?
init?(_ map: Map){
}
mutating func mapping(map: Map) {
token <- map["token"]
userID <- map["user_id"]
}
}
@IBAction func processSignUp() {
SnLInput.name = "Celine Peter"
SnLInput.email = "[email protected]"
SnLInput.password = "[email protected]"
provider.request(AppTarget.signUp, completion: { result in
var success = true
var message = "Unable to signup"
switch result {
case let .Success(response):
do {
let outputString:NSString! = NSString(data:response.data, encoding:NSUTF8StringEncoding)
print(outputString)
if let repos: [SignupNLoginResponse]? = try response.mapObjectMapper() {
print(repos)
} else {
success = false
}
} catch {
success = false
print("Error info: \(error)")
}
case let .Failure(error):
guard let error = error as? CustomStringConvertible else {
break
}
message = error.description
}
print(message)
print(success)
})
}
Это наш первый проект с использованием этих библиотек, и мы не могли понять, что нам не хватает. Мы ценим любую помощь, указывая нам в правильном направлении. Пожалуйста, сообщите, если какая-либо информация отсутствует, чтобы выяснить проблему.
Привет Я вроде с той же проблемой я разместил вопрос [здесь] (https://stackoverflow.com/questions/45430329/moya-mapper-not-able-to- MapObjects-из-результат-быстрое-3). Если я получу какую-либо помощь, я тоже опубликую ее здесь. –