Swift 带CRUD/Rest的Alamofire POST参数
我想使用CRUD示例作为基础,向Alamofire请求添加几个POST参数。我无法发送我的参数Swift 带CRUD/Rest的Alamofire POST参数,swift,alamofire,Swift,Alamofire,我想使用CRUD示例作为基础,向Alamofire请求添加几个POST参数。我无法发送我的参数 enum Router: URLRequestConvertible { static var baseURLString: String = NSUserDefaults.standardUserDefaults().objectForKey("url") as String! case GetForms() case Login(String, String) var method: Ala
enum Router: URLRequestConvertible {
static var baseURLString: String = NSUserDefaults.standardUserDefaults().objectForKey("url") as String!
case GetForms()
case Login(String, String)
var method: Alamofire.Method {
switch self {
case .GetForms:
return .GET
case .Login:
return .POST
default:
return .GET
}
}
var path: String {
switch self {
case .GetForms():
return "getforms"
case .Login(let email, let password):
return "login"
default:
return ""
}
}
var URLRequest: NSURLRequest {
let URL = NSURL(string: Router.baseURLString)!
let mutableURLRequest = NSMutableURLRequest(URL: URL.URLByAppendingPathComponent(path))
switch self {
case .GetForms():
let token: String = NSUserDefaults.standardUserDefaults().objectForKey("apikey") as String!
mutableURLRequest.HTTPMethod = method.rawValue
mutableURLRequest.setValue(token, forHTTPHeaderField: "Authorization")
return mutableURLRequest
case .Login(_, let parameters):
// HERE I WANT TO ADD THE 2 POST Paramers from the Login Function
return mutableURLRequest
default:
return mutableURLRequest
}
}
}
但这是行不通的。我试图改为示例代码,但我真的不明白如何添加简单的2个Post参数。它应该和我使用它作为简单请求时一样。比如:
Alamofire.request(.GET, "http://httpbin.org/get", parameters: ["email": "admin", "password": "password"])
.response { (_, _, _, error) in
println(error)
}
任何帮助都将不胜感激 您可以通过调用Alamofire ParameterEncoding实例上的encode方法,将参数应用于mutableURLRequest。如果是标准的POST请求,则需要使用URL大小写:
switch self {
case .GetForms():
// ...
case .Login(let email, let password):
// do any URL request setup first
mutableURLRequest.HTTPMethod = method.rawValue
// set up parameters
let parameters = ["email": email, "password": password]
// return first element of tuple from encode
return ParameterEncoding.URL.encode(mutableURLRequest, parameters).0
default:
return mutableURLRequest
}