Json 发布时如何为Alamofire添加requestSerializer?
使用AFNetworking时,我对自定义requestSerializer执行了以下操作:Json 发布时如何为Alamofire添加requestSerializer?,json,swift,alamofire,Json,Swift,Alamofire,使用AFNetworking时,我对自定义requestSerializer执行了以下操作: AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; manager.requestSerializer = [AFJSONRequestSerializer serializer]; [manager POST:urlString parameters:parameters progress:nil success:xxxxxx
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
[manager POST:urlString parameters:parameters progress:nil success:xxxxxx];
但是,我不知道如何在Swift代码中使用Alamofire来处理这个问题。
我找到的唯一解决办法是
Alamofire.request(urlString, method: .post, parameters: parameters, encoding: .JSON, headers: nil)
它来自于这个问题
.
但它不起作用。
错误信息是:
Extra argument 'method' in call.
我发现另一个人说了另一种方法:
struct JSONStringArrayEncoding: ParameterEncoding {
private let array: [String]
init(array: [String]) {
self.array = array
}
func encode(_ urlRequest: URLRequestConvertible, with parameters: Parameters?) throws -> URLRequest {
var urlRequest = urlRequest.urlRequest
let data = try JSONSerialization.data(withJSONObject: array, options: [])
if urlRequest?.value(forHTTPHeaderField: "Content-Type") == nil {
urlRequest?.setValue("application/json", forHTTPHeaderField: "Content-Type")
}
urlRequest?.httpBody = data
return urlRequest!
}
}
而且它也不起作用,并且显示
Extra argument 'method' in call.
有人帮我吗?谢谢