如何在 swift 中使用 alamofire post 字典数组?
How to post array of dictionary with alamofire in swift?
我必须 post 这样的字典值数组。
{
"reservedHour": "2019-11-01T14:55+0900",
"reservedBoxSize": "sm",
"products": [{
"id": 312
}],
"boxArea": {
"id": 66
},
"type": "RENT"
}
products
是 Json 对象的数组。
所以我试试这个。
func requestReserveAvailableDate(type: String, reserveHour: String, boxAreaID: Int, boxSize: String, productIDs: [Int], completionHandler: @escaping (_ availableDates: [String]?, _ errorMessage: String?) -> Void) {
let parameters: [String: Any] = ["type": type,
"reservedHour": reserveHour,
"boxArea": ["id": boxAreaID],
"reservedBoxSize": boxSize,
"products": productIDs.map({ ["id": [=13=]] })]
...
但这不起作用。
我只对所有 API 调用使用 alamofire。请帮我解决一下。
就这样试试
var parameters: [String: Any] = [:]
parameters = ["type": type,
"reservedHour": reserveHour,
"reservedBoxSize": boxSize,
"boxArea": [],
"products": []]
var boxAreaParams:[String:Any] = [:]
boxAreaParams = ["id": boxAreaID]
parameters["boxArea"] = boxAreaParams
var productsParmas: [string: Any] = [:]
productParams = ["id": productId]
var product = parameter["products"] as? [[String: Any]] ?? [[String: Any]]()
product.append(productParams)
parameters["product"] = product
我必须 post 这样的字典值数组。
{
"reservedHour": "2019-11-01T14:55+0900",
"reservedBoxSize": "sm",
"products": [{
"id": 312
}],
"boxArea": {
"id": 66
},
"type": "RENT"
}
products
是 Json 对象的数组。
所以我试试这个。
func requestReserveAvailableDate(type: String, reserveHour: String, boxAreaID: Int, boxSize: String, productIDs: [Int], completionHandler: @escaping (_ availableDates: [String]?, _ errorMessage: String?) -> Void) {
let parameters: [String: Any] = ["type": type,
"reservedHour": reserveHour,
"boxArea": ["id": boxAreaID],
"reservedBoxSize": boxSize,
"products": productIDs.map({ ["id": [=13=]] })]
...
但这不起作用。
我只对所有 API 调用使用 alamofire。请帮我解决一下。
就这样试试
var parameters: [String: Any] = [:]
parameters = ["type": type,
"reservedHour": reserveHour,
"reservedBoxSize": boxSize,
"boxArea": [],
"products": []]
var boxAreaParams:[String:Any] = [:]
boxAreaParams = ["id": boxAreaID]
parameters["boxArea"] = boxAreaParams
var productsParmas: [string: Any] = [:]
productParams = ["id": productId]
var product = parameter["products"] as? [[String: Any]] ?? [[String: Any]]()
product.append(productParams)
parameters["product"] = product