私はSwiftの投稿要求を使ってWebサービスからの応答を得ようとしています。しかし、私は "正しい形式でないため、データを読み込めません"というエラーが出ます。Swift 3.0のPOST要求
let dict = ["UserName": "2222211111",
"Password": "123456",
"AppName": "xyz"]
as [String: Any]
//create the session object
let session = URLSession.shared
let url = "someurl.svc/somefunction"
//now create the URLRequest object using the url object
var request = URLRequest(url: url)
request.httpMethod = "POST" //set http method as POST
do {
request.httpBody = try JSONSerialization.data(withJSONObject: dict, options: .prettyPrinted)
} catch let error {
print(error.localizedDescription)
}
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("application/json", forHTTPHeaderField: "Accept")
//create dataTask using the session object to send data to the server
let task = session.dataTask(with: request as URLRequest, completionHandler: { data, response, error in
guard error == nil else {
return
}
guard let data = data else {
return
}
do {
//create json object from data
if let json = try JSONSerialization.jsonObject(with: data, options: .mutableContainers) as? [String: Any] {
print(json)
}
} catch let error {
print(error.localizedDescription)
}
})
task.resume()
私も、私は、コード3840、文字3. 周りの無効な応答を取得しています。しかし、私は適切な応答を取得していますこれらのライブラリからAlamofire、ネットワークなどのようなサードパーティのライブラリを使用しました。次はコードですObjective-Cコードを使用するか、Postman Softwareを使用します。 誰かが私を助けてくれますか? ありがとう
alamofireを試しましたか? –
返信する応答が有効なJSON形式でない可能性があります。シリアル化しようとする前に応答を印刷してみてください。それは良いスタートになるだろう。 – Malik
あなたの回答を追加してください。 Postmanは独自のレベルで多くの問題を解決します。したがって、Postmanで働くapiがアプリで動作する必要はありません。 – Priyal