是否可以使用Alamofire swift在api到达时将Array和Dictionary都发送到参数中?

我的值如下所示。

let values = ["06786984572365","06644857247565","06649998782227"]
let params:[String:Any] = ["delete_wishlist_products":"1"]

在Alamofire中使用Swifft在API命中时,可以使用任何可能的方式来发送字典和数组作为不带标题的参数。

在这里找到我的示例代码。

 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 ?? "")
                            }
        }
    }
waruut 回答:是否可以使用Alamofire swift在api到达时将Array和Dictionary都发送到参数中?

这是一个如何使用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.default要求您直接将数组或字典发送给参数,请后端开发人员相应地获取属性。

,

是的,您只需要定义一个数组,就快要定义了,只需要在字典中添加一组[]即可。 :

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 ?? "")
                            }
        }
    }
本文链接:https://www.f2er.com/3076152.html

大家都在问