我正在尝试使用Alamofire进行请求,但是错误发生在参数设置器method: HTTPMethod
中,我使用了提示性参数.post
。
Alamofire.request(OdooAuth.host2!, method: .post, parameters: [String:Any], encoding: JSONEncoding.default, headers: [])
主持人还可以,因为如果我尝试其他方式,例如:
AlamofireXMLRPC.request(OdooAuth.host2!, methodName: "execute_kw", parameters: params)
这行得通。
问题是我想使用JSON而不是XML。
XCode错误:
我在网上搜索过很多帖子,例如Github,Stackoverflow,但是类似的问题没有答案或无法解决我的问题。
答案 0 :(得分:0)
标题应该是字典[:]
而不是数组[]
,这就是为什么方法签名不匹配的原因。
尝试
let headers = [
"Content-Type": "application/json",
"Accept": "application/json"
]
Alamofire.request(url, method: .post, parameters: params, encoding: JSONEncoding.default, headers: headers).responseJSON { response in
// handle the response here
}
答案 1 :(得分:0)
尝试一下
let _headers = ["Content-Type": "application/json"]
Alamofire.request(url as URL, method: .post, parameters: params, encoding: JSONEncoding.default, headers: _headers).responseJSON { response in
do {
let jsonData = try JSONSerialization.jsonObject(with: response.data!, options: .mutableContainers) as? JSONStandard
if (jsonData != nil) {
let jsonData = response as! Dictionary // PARSE AS PER RESPONSE
} else {
print("No Data")
}
} catch {
print("Error")
}
}