Ios 是否可以使用Alamofire swift在api命中时将数组和字典都发送到参数中?
我有如下的价值观Ios 是否可以使用Alamofire swift在api命中时将数组和字典都发送到参数中?,ios,swift,iphone,api,alamofire,Ios,Swift,Iphone,Api,Alamofire,我有如下的价值观 let values = ["06786984572365", "06644857247565", "06649998782227"] let params:[String:Any] = ["delete_wishlist_products":"1"] 是在Alamofire中的API命中时,使用SWIFT将字典和数组作为不带头的参数发送的任何可行方法 在这里找到我的示例代码 func deleteWishlistValue(){ let values =
let values = ["06786984572365", "06644857247565", "06649998782227"]
let params:[String:Any] = ["delete_wishlist_products":"1"]
是在Alamofire中的API命中时,使用SWIFT将字典和数组作为不带头的参数发送的任何可行方法
在这里找到我的示例代码
func deleteWishlistValue(){
let values = ["12345", "1345", "1234"]
let params:[String:Any] = ["delete_wishlist_products":"1",
"product_id":values,
"customer_id":"152698"]
Alamofire.request(Services.deleteWishlist,method: .get,parameters: params, headers:nil).responseJSON { (response) in
if response.result.error == nil{
print(response)
}else{
print(response.result.error?.localizedDescription ?? "")
}
}
}
下面是一个如何使用almofire在api中发送阵列数据的示例
func getContest(arrDetails: [String], completion: @escaping(_ reponse: ContestListResponse?, _ error: ApiError?)-> Void) {
contestListRequest?.cancel()
let parameters: Parameters = [
"limit": "10",
"details": arrDetails
]
let headers: HTTPHeaders = [
"language": DBManager.getUserData()?.language ?? "eng"
]
contestListRequest = Alamofire.request(AppURL.contestList, method:.post, parameters: parameters, encoding: JSONEncoding.default, headers: headers)
.responseContestListResponse(completionHandler: { (response) in
switch response.result {
case .success(let result):
print("result---",result)
if response.response?.statusCode == 200 {
completion(result, nil);
} else {
completion(result, ApiError(domain: .api, code: response.response?.statusCode ?? 0, msg: result.message ?? ""))
}
case .failure(let error):
completion(nil, ApiError(domain: .system, code: error._code, msg: error.localizedDescription))
}
})
.responseString { (response) in
print(response.result.value ?? "NO Response")
}
}
自己更改响应类和完成处理程序
请注意
encoding:JSONEncoding。默认情况下,如果要将数组或dict直接发送到参数,这是必需的,请您的后端开发人员相应地获取属性。是的,您只需要定义一个数组,就快到了,只需要在字典中添加一组[]
let values = [["product_id" : 06786984572365, "option_id" : 1]]
let params: [String: Any] = [
"delete_wishlist_products":"1",
"array":values,
"customer_id":"152698"
]
Alamofire.request(Services.deleteWishlist,method: .get,parameters: params, headers:nil).responseJSON { (response) in
if response.result.error == nil{
print(response)
}else{
print(response.result.error?.localizedDescription ?? "")
}
}
}
在数组中显示示例API参数$\u GET['updatetocart']==1我需要数量产品\u id选项\u id