Json Body pass в AFNetworking, я могу передать параметр в Almofire, но не в AFNetworking - PullRequest
0 голосов
/ 18 июня 2019

В API я должен передать param в теле в формате JSON.но когда я пытаюсь в AFNetworking, он возвращает мне ошибку.

Ошибка

The `parameters` argument is not valid JSON.

, но когда я пытаюсь с AFNetworking, он работает нормально

вот мой код AFNetworking

let manager = AFHTTPSessionManager(sessionConfiguration: URLSessionConfiguration.default)

        manager.requestSerializer = AFJSONRequestSerializer()

 let params:[String:Any] = [
            "email":self.txt_email.text ?? "" ,
            "password":self.txt_password.text ?? "",
            "full_name": getFullname,
            "mobile":"1231232131",
            "address_1" :"" ,
            "address_2" :"" , "city":"","zip_code":"" ,"source":"ios" ,"country":""
        ]

var theParam:String = ""

        if let theJSONData = try?  JSONSerialization.data(
            withJSONObject: parameters,
            options: .sortedKeys
            ),
            let theJSONText = String(data: theJSONData,
                                     encoding: String.Encoding.ascii) {

            theParam = theJSONText
        }

manager.post(URL, parameters: theParam, progress: nil, success: {(_ task: URLSessionDataTask, _ responseObject: Any?) -> Void in
            ZKProgressHUD.dismiss()
            success(responseObject ?? NSDictionary())
        }, failure: {(_ task: URLSessionDataTask?, _ error: Error?) -> Void in
            print(error.debugDescription)
        })

Пожалуйста, помогите мнеКак передать данные JSON с AFNetworking

в Почтальон Я должен передать параметры, подобные этому выберите Тело -> raw

{'email':'dsd@gmail.com', 'password':'123123','full_name': 'Full name','mobile':'841455555','address_1':'address 1','address_2':'address 2', 'city':'sdf','zip_code':'1231','source':'android','country':'asd'}
...