Ich sende Daten in JSON mit Content-Type JSON, aber das zeigt mir die Content-Type-XML. So konnte der Server meine Anfrage nicht lesen.Wie setze ich Content-Type in swift3 alamofire
Auch das ist die Post-Anforderung
Ich sende Daten in JSON mit Content-Type JSON, aber das zeigt mir die Content-Type-XML. So konnte der Server meine Anfrage nicht lesen.Wie setze ich Content-Type in swift3 alamofire
Auch das ist die Post-Anforderung
Das Problem ist, dass Sie .responseJSON
verwenden, die Alamofire
sagt, dass die Antwort JSON
enthalten würde. Da die Antwort in Ihrem Fall XML
und nicht JSON
ist, würde Alamofire
einen Fehler werfen. Was Sie stattdessen brauchen, ist nicht den Antworttyp anzugeben und dann eine XMLParser
, um die Daten zu analysieren. Eine Option ist SWXMLHash. Ihre aktualisierte Code würde in etwa so aussehen
Alamofire.request(request)
.response { response in
var xml = SWXMLHash.parse(response.data!)
}
Ich überprüfe dies, aber die API sagt mir die Antwort wird in json 'https: // apicurrent-app.booker.ninja/WebService4/json/CustomerService.svc/customer' –
Dieser Link gibt eine' 404' zurück. Außerdem gibt es in Ihren Protokollen "500" zurück. Möglicherweise etwas, das es wert ist, sich zu vergewissern, dass Sie eine Antwort vom Server erhalten und dass es sich tatsächlich im richtigen Format befindet – Malik
Im Grunde ist das nicht ein Fehler des Content-Type. Dies ist ein Fehler des Datentyps.
Ich sende den gesamten Wert in der Zeichenfolge, aber es gibt müssen die Daten mit dem Datentyp senden.
Wenn ich mit Datentyp anfordere, änderte es automatisch den Inhaltstyp in JSON.
Mögliche Duplikat [Alamofire annehmen und Content-Type JSON] (https://stackoverflow.com/questions/28374483/alamofire-accept-and-content-type-json) – jegadeesh
Fügen Sie diese 'request.setValue (" application/json ", forHTTPHeaderField:" Accept ")' – pkc456
Bereits hinzugefügt können Sie in der Abbildung sehen –