swift4.0にてPOSTが出来ず困っています。
Django REST Frameworkにて実装したAPIに対しswiftからPOSTリクエストを送りたいのですが、GETリクエストとして送られてしまっているようです。
curl
コマンドからPOSTすると目的のJSONを取得できるのでサーバー側の処理に問題はないと思います。
どなたかご教授いただければ幸いです…
###該当のソースコード
swift
1 2import Foundation 3import SwiftyJSON 4 5// API接続先 6let urlStr = "http://hogehoge" 7 8public func callAPI(name: String){ 9 10 let postStr = "hoge" 11 let postStrData = postStr.data(using: String.Encoding.utf8) 12 let APIUrl = urlStr + name 13 if let url = URL(string: APIUrl) { 14 let req = NSMutableURLRequest(url: url) 15 req.httpMethod = "POST" 16 req.httpBody = postStrData 17 let task = URLSession.shared.dataTask(with: req as URLRequest, completionHandler: { (data, resp, err) in 18 if err != nil { 19 print(err!) 20 return 21 } 22 DispatchQueue.main.async { 23 let json = JSON(data: data!) 24 print(json) 25 } 26 }) 27 task.resume() 28 } 29}
djangoから返ってくるjson
{ "detail" : "メソッド \"GET\" は許されていません。" }
あなたの回答
tips
プレビュー