Ich versuche, eine PUT
-Anforderung mit Swift auszuführen. In einem REST-Client, wenn ich versuche, eine REST-Anfrage die folgende Art und Weise zu tun:Swift-REST-Anforderung PUT Optional (502 Schlechtes Gateway: Registrierter Endpunkt konnte die Anforderung nicht verarbeiten.)
In Body- x-www-form-urlencoded, füge ich vote=1
und mit der ID in der param zum Beispiel genommen werden: /user/:id
, es funktioniert !
Ich versuche, das gleiche in Swift Code zu tun, funktioniert es nicht und ich bekomme responseString = Optional(502 Bad Gateway: Registered endpoint failed to handle the request.
Hier ist mein Code:
var baseURL = "http://<domain>/user"
let putURL = baseURL + "/\(id)"
print(putURL)
let request = NSMutableURLRequest(URL: NSURL(string: putURL)!)
request.HTTPMethod = "PUT"
let putString = "vote=1"
request.HTTPBody = putString.dataUsingEncoding(NSUTF8StringEncoding)
request.timeoutInterval = 1500
let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {
data, response, error in
guard error == nil && data != nil else {
print("error=\(error)")
return
}
let responseString = NSString(data: data!, encoding: NSUTF8StringEncoding)
print("responseString = \(responseString)")
}
task.resume()
Im Allgemeinen zeigt der 5XX-Fehlercode einen serverseitigen Fehler an. Wenn der Server Ihr ist, können Sie ihn debuggen, um zu verstehen, was schief gelaufen ist. Achten Sie darauf, welche Header Sie senden und welches Format Ihre Parameter haben. –