私はAlamofireを試してみました。それは私にとってはうまくいきません。私は最終的にHTTP GETの動作を得ましたが、http POSTを動作させる必要があります。私たちのPOST APIは、その中に必要なすべてのデータを持つRequestオブジェクトを取ります。バックエンドの開発者に、KEY-VALUEペアのJSON(埋め込みオブジェクト/配列なし)を提供するように依頼しました。これにより、スピーディコードでDictionaryを使用してjsonに変換してリクエストを送信できます。私が必要とするのは、以下のコードをPOSTに変換することだけです。これをJSONのシリアル化されたオブジェクトでPOST呼び出しに変換する方法
私の以前の質問はあまり役に立ちませんでした。 NSInvalidArgumentException Invalid type in JSON write DemographicsPojo Swift 3.0, Alamofire 4.0 Extra argument 'method' in call
私はAlamofireをあきらめました。私はFoundationクラスを使いたい。単純な基本的かつ基本的な生活の方法:)。
func callWebService(url : String) {
// Show MBProgressHUD Here
var config :URLSessionConfiguration!
var urlSession :URLSession!
config = URLSessionConfiguration.default
urlSession = URLSession(configuration: config)
// MARK:- HeaderField
let HTTPHeaderField_ContentType = "Content-Type"
// MARK:- ContentType
let ContentType_ApplicationJson = "application/json"
//MARK: HTTPMethod
let HTTPMethod_Get = "GET"
let callURL = URL.init(string: url)
var request = URLRequest.init(url: callURL!)
request.timeoutInterval = 60.0 // TimeoutInterval in Second
request.cachePolicy = URLRequest.CachePolicy.reloadIgnoringLocalCacheData
request.addValue(ContentType_ApplicationJson, forHTTPHeaderField: HTTPHeaderField_ContentType)
request.httpMethod = HTTPMethod_Get
let dataTask = urlSession.dataTask(with: request) { (data,response,error) in
if error != nil{
print("Error **")
return
}
do {
let resultJson = try JSONSerialization.jsonObject(with: data!, options: []) as? [String:AnyObject]
print("Result",resultJson!)
} catch {
print("Error -> \(error)")
}
}
dataTask.resume()
print("..In Background..")
}
POSTリクエストを送信するコードを書き直すように頼んでいますか?あなた自身でそれを試してください。それがうまくいかない場合よりも助けを求めてください。 –
私はこれを言うとき私を信頼し、私はそれを試して失敗しました。私は最終的にGETを行っていますが、POSTは機能しません。 – Siddharth