2017-07-21 1 views
0

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

See this

+0

Mögliche Duplikat [Alamofire annehmen und Content-Type JSON] (https://stackoverflow.com/questions/28374483/alamofire-accept-and-content-type-json) – jegadeesh

+0

Fügen Sie diese 'request.setValue (" application/json ", forHTTPHeaderField:" Accept ")' – pkc456

+0

Bereits hinzugefügt können Sie in der Abbildung sehen –

Antwort

0

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!) 
     } 
+0

Ich überprüfe dies, aber die API sagt mir die Antwort wird in json 'https: // apicurrent-app.booker.ninja/WebService4/json/CustomerService.svc/customer' –

+0

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

0

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.

Verwandte Themen