после прочтения RAYWENDERLICH Alamofire tutorial Я решил построить собственный маршрутизатор, он отлично работает, за исключением небольшой детали. Он возвращает GET
запросов, но мне нужен POST
запрос в моем случае. Я потратил некоторое время, пытаясь установить HTTPMethod = "POST"
в Router, но, вероятно, из-за отсутствия опыта я делал это неправильно и получал некоторые ошибки. Итак, что именно мне нужно изменить в маршрутизаторе, чтобы он возвращал запросы POST
?Alamofire Router, который возвращает POST-запрос
Ее мой код
enum Router: URLRequestConvertible
{
static let baseURLString = "http://www.com"
case Friends(Int)
var URLRequest: NSURLRequest
{
let (path: String, parameters: [String: AnyObject]) = {
switch self
{
case .Friends (let ID):
let params = ["userID": "\(ID)"]
return ("/getFriends.php", params)
}
}()
let URL = NSURL(string: Router.baseURLString)
let URLRequest = NSURLRequest(URL: URL!.URLByAppendingPathComponent(path))
let encoding = Alamofire.ParameterEncoding.URL
return encoding.encode(URLRequest, parameters: parameters).0
}
}
Все выглядит хорошо для меня, попробуйте переименовать let URLRequest на что-то другое (resultRequest и т. Д.), Так как у вас уже есть переменная с именем URLRequest во внешней области, вы также должны добавить строку resultRequest.HTTPMethod = "POST" –
Редактировать и введите ссылку учебника, где я полужирный текст, чтобы людям было легче понять, что вы пытаетесь. – Icaro
@ Kaan Dedeoglu Я попытался добавить URLRequest.HTTPMethod = "POST" сразу после URL URL-адреса = NSURLRequest (URL: URL! .URLByAppendingPathComponent (путь)), но он дает мне следующую ошибку: «не могу назначить« HTTPMethod »в« URLRequest » '" –