Pourquoi après tout le code ci-dessous, après que je fais un po NSKeyedUnarchiver.unarchiveObject(with: (response.request?.httpBody)!)
je reçois nil
? Et le code de réponse est 400. Et la raison pour laquelle le code de réponse est 400, je crois est à cause des paramètres. Des suggestions pourquoi cela arrive?Mauvais code de statut de demande 400 après la demande
let urlRequest = NSMutableURLRequest(url: url)
let bodyData = parameters.first!.key + "=" + String(describing: parameters.first!.value)
urlRequest.bind(to: command!)
urlRequest.httpBody = bodyData.data(using: .utf8)
urlRequest.httpMethod = "POST"
urlRequest.allHTTPHeaderFields = NetworkManager.defaultHeaders()
return Alamofire.request(urlRequest.copy() as! URLRequest)
EDIT: Ok, donc je l'ai remplacé quelques lignes et maintenant le code ressemble à ceci et les paramètres ne sont plus nuls:
let urlRequest = NSMutableURLRequest(url: url)
let dataParameters: Data = NSKeyedArchiver.archivedData(withRootObject: parameters)
urlRequest.bind(to: command!)
urlRequest.httpBody = dataParameters
urlRequest.httpMethod = HTTPMethod.post.rawValue
urlRequest.allHTTPHeaderFields = NetworkManager.defaultHeaders()
return Alamofire.request(urlRequest.copy() as! URLRequest)
Mais même comme ça je reçois un code 400. Donc, après avoir enquêté un peu avec le postier, j'ai trouvé que si je mettais le corps comme ça {"xxxxx": "xxxxxxxxx"} ça marche et j'ai un bon code, mais si j'utilise une clé et une valeur, Comment puis-je faire ce travail?