0

MoyaおよびMoya-ObjectMapperでAlamofireを使用して、API 呼び出しを処理しています。サーバーからの応答は次のとおりです。

{
"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 = "celine.peter@domain.in"
        SnLInput.password = "testing@123"

        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)
        })
    }

これは、これらのライブラリを使用する最初のプロジェクトであり、不足しているものを理解できませんでした。正しい方向に向けて、助けていただければ幸いです。問題を解決するために不足している情報が見つかった場合はお知らせください。

4

1 に答える 1

1

以下のように適切な方法で実行した関数には2つのタイプがありますが、それを見逃している可能性があります。

オブジェクトマッパー

于 2016-01-11T12:47:12.817 に答える