Я попытался отправить тело запроса PUT, но данные не получены на внутреннем интерфейсеОтправить тело запроса PUT в быстрой
let request = NSMutableURLRequest(URL: url!)
request.HTTPMethod = "PUT"
let putBody = "bucket=\(bucket)&day=\(day)"
request.HTTPBody = putBody.dataUsingEncoding(NSUTF8StringEncoding)
let task = NSURLSession.sharedSession().dataTaskWithRequest(request, completionHandler: {(data, response, error) -> Void in
dispatch_async(dispatch_get_main_queue(), {() -> Void in
completion(data: data, response: response as! NSHTTPURLResponse, error: error)
})
})
task.resume()
Значение bucket (Int)
является 2015040
и day (String)
является day27
. Я попытался сделать тот же запрос в Postman, сервер получил данные тела, так что с сервером ничего не случилось.
Есть ли другой способ установить тело запроса?
EDIT:
Это отлично работает, если я изменю метод запроса к POST в моей просьбе и сервера, а также. Итак, вопрос сводится к тому, как установить тело в запросе PUT?
Вы уверены, что не получили запрос (материал после '?' В URL-адресе) и тело перепуталось? Для меня ваш 'putBody' выглядит так, как обычно передается как запрос ... – Roshan
Что ожидает сервер? Кстати, вы должны использовать [NSURLQueryItem] (https://developer.apple.com/library/ios/documentation/Foundation/Reference/NSURLQueryItem_Class/). – jtbandes
сервер ожидает ведро и день в теле запроса. – crysis