Search code examples
iosswiftrequestalamofire

error: inputDataNilOrZeroLength in Swift with Alamofire


responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.inputDataNilOrZeroLength)

What does it mean?

struct URLService {

    static var language = LocalizationService.shared.language.userSymbol.uppercased()
    static let baseUrl = "http://192.168.9.42:5080"
    
    static func checkLogin(login: String, password: String) {
        let parametrs: Parameters = [
            "language": "RU",
            "password": "password",
            "username": "login"
        ]
        let url = "\(URLService.baseUrl)/someURL"
        let authRequest = AF.request(url,
                                     method: .post,
                                     parameters: parametrs,
                                     encoding: URLEncoding(destination: .queryString))
        authRequest.responseData { (response) in
            switch(response.result) {
            case .success(_):
                print("\(response) check response")
            case .failure(let error):
                print("\(error) check error")
            }
        }
    }
}

U will help me, if show me other cases with this error and your repairing.


Solution

  • For me was right:

    let authRequest = AF.request(url,
                                         method: .post,
                                         parameters: parameters,
                                         encoding: JSONEncoding.default)
                authRequest.responseString { response in
                    switch response.result {
                    case .success(let value):
                        print("succes")
                    case .failure(let error):
                        print("Error while querying database: \(String(describing: error))")
                    }
                }
    

    JSONEncoding + responseString(Just for more convenience)