Swift 带CRUD/Rest的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

我想使用CRUD示例作为基础,向Alamofire请求添加几个POST参数。我无法发送我的参数

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
}