ソースコード
いきなりソースコードを記載します。
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let testurl = URL(string: "https://corona-medama0101873537.codeanyapp.com/device/")
let request = NSMutableURLRequest(url: testurl!)
// set the method(HTTP-POST)
request.httpMethod = "POST"
// set the header(s)
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
// set the request-body(JSON)
let params: [String: Any] = [
"testNumber": "123567",
]
//または以下のような記述
// var params = Dictionary<String,String>()
// params["testNumber"] = "123567"
do{
request.httpBody = try JSONSerialization.data(withJSONObject: params, options: [])
}catch{
print(error.localizedDescription)
}
// use NSURLSessionDataTask
let task = URLSession.shared.dataTask(with: request as URLRequest, completionHandler: {data, response, error in
if (error == nil) {
let result = NSString(data: data!, encoding: String.Encoding.utf8.rawValue)!
print(result)
} else {
print(error as Any)
}
})
task.resume()
}
}
これで
{"testNumber":"123567"}
という形でPOSTリクエストが送られます
結論
JSON型のまま送ることは出来なさそうです
「request.httpBody = パラメータ」
という形で送る必要があるのですが、公式ドキュメント を見るとhttpBodyはData型のためJSON型で送ることは出来ないのではないかという結論です
新たな結論はPOST送信することができました
以上、今回はここまで!