私はサーバーへのポストコールをしようとしていますが、ステータスコードは500です。私は、シリアル化されたjsonオブジェクトとパラメータを持つエンコードされた文字列の両方を送信しようとしました。私はサーバーにアクセスできないので、サーバーに問題があるかどうかわかりませんが、GETおよびDELETE呼び出しが機能します。 POSTとPUTは行いません。ここでは、コードです:スウィフトPOSTステートメントから500のステータスコードが返されます
guard let urlComponents = NSURLComponents(string: url) else
{
print("error creating URL")
return (nil, nil)
}
for (key, value) in urlParameters
{
urlComponents.queryItems = [NSURLQueryItem(name:key, value:value)]
}
let urlRequest = NSMutableURLRequest(URL: urlComponents.URL!)
urlRequest.HTTPMethod = "POST"
let config = NSURLSessionConfiguration.defaultSessionConfiguration()
let session = NSURLSession(configuration: config)
do
{
let jsonUser = try NSJSONSerialization.dataWithJSONObject(["firstname": "Bob", "lastname": "Johnson", "summary": "Hi"], options: [])
urlRequest.HTTPBody = jsonUser
}
catch
{
print("Error: cannot create JSON from user")
}
let task = session.dataTaskWithRequest(urlRequest)
{
(data, response, error) in
....
私もそうようhttpbodyを設定しようとしました:
response: <NSHTTPURLResponse: 0x7ff3137a3b70> { URL: https://somelink } { status code: 500, headers {
Connection = "keep-alive";
"Content-Length" = 1477;
"Content-Type" = "text/html; charset=utf-8";
Date = "Thu, 11 Aug 2016 00:42:52 GMT";
Server = "WEBrick/1.3.1 (Ruby/2.2.4/2015-12-16)";
Via = "1.1 vegur";
"X-Request-Id" = "4c414334-4412-48a4-a61f-c17658182bdf";
"X-Runtime" = "0.007021";
} }
これは私の問題です:
let postString = "firstname=Jack&lastname=Daniels&summary=hello"
urlRequest.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding)
これは私が取得、サーバーの応答がありますPOSTリクエストまたはサーバー?
サーバーに未処理のエラーがあるようです。 – Harsh