Я пытаюсь сделать почтовый вызов на сервер, и я получаю код состояния 500. Я пробовал как отправлять сериализованный json-объект, так и закодированную строку с параметрами. У меня нет доступа к серверу, поэтому я не знаю, проблема с сервером, но вызовы GET и DELETE работают. POST и PUT нет. Вот код:Оператор Swift 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 так:
let postString = "firstname=Jack&lastname=Daniels&summary=hello"
urlRequest.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding)
Это ответ сервера я получаю:
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";
} }
Является ли это проблемой с моим POST-запрос или сервер?
Похоже, на сервере имеется необработанная ошибка. – Harsh