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