gpt4 book ai didi

swift - 带有 CRUD/Rest 的 Alamofire POST 参数

转载 作者:可可西里 更新时间:2023-11-01 00:53:33 25 4
gpt4 key购买 nike

我想使用 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
}

关于swift - 带有 CRUD/Rest 的 Alamofire POST 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27575785/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com