2015-12-22 7 views
0

Мы используем 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) 
     }) 
    } 

Это наш первый проект с использованием этих библиотек, и мы не могли понять, что нам не хватает. Мы ценим любую помощь, указывая нам в правильном направлении. Пожалуйста, сообщите, если какая-либо информация отсутствует, чтобы выяснить проблему.

+0

Привет Я вроде с той же проблемой я разместил вопрос [здесь] (https://stackoverflow.com/questions/45430329/moya-mapper-not-able-to- MapObjects-из-результат-быстрое-3). Если я получу какую-либо помощь, я тоже опубликую ее здесь. –

ответ

1

Существует два типа функций, которые вы использовали для правильного метода, например, ниже, возможно, вам не хватает этого.

objectmapper

Смежные вопросы