如图所示,我需要发送参数结构disctonary<array<Dictionary>>
。
通过按钮添加参数来调用API的代码是选择。但是如果我传递了错误的参数,则会出现错误
func serviceCallStore() {
let objRegiStep6POSTModel : RegiStep6ShippingRequest<ShippingArrayRequest> = RegiStep6ShippingRequest()
objRegiStep6POSTModel.ShopId = "\(Preference.GetInteger(key: UserDefaultsKey.ShopID))"
// var objShippingID : [ShippingArrayRequest] = [ShippingArrayRequest]()
if self.btnDoorDelivery.isSelected {
let shippingModel = ShippingArrayRequest()
shippingModel.ShippingID = 1
objRegiStep6POSTModel.ShippingArrayRequest?.append(shippingModel)
}
if self.btnPickupInStore.isSelected{
let shippingModel = ShippingArrayRequest()
shippingModel.ShippingID = 2
objRegiStep6POSTModel.ShippingArrayRequest?.append(shippingModel)
}
// objRegiStep6POSTModel.ShippingArrayRequest = objShippingID
let securitydataprovider: SecurityDataProvider = SecurityDataProvider()
securitydataprovider.RegistrationStep7Register(regi6Storemodel: objRegiStep6POSTModel,IsLoader: true, viewController: self) { (response, IsSuccess) -> Void in
if IsSuccess! {
if response?.IsStatus == true {
appDelegate.window?.rootViewController?.view.makeToast(message: "Data send sucessfully")
} else {
appDelegate.window?.rootViewController?.view.makeToast(message: AppMessage.getErrorInResponse)
}
} else {
appDelegate.window?.rootViewController?.view.makeToast(message: AppMessage.getErrorInResponse)
}
}
}
以下结构,我用来传递参数
class RegiStep6ShippingRequest<T:Mappable>: Mappable {
lazy var ShopId : String? = ""
lazy var ShippingArrayRequest : [T]? = []
init() {
}
required init?(map: Map) {
}
func mapping(map: Map) {
ShippingArrayRequest <- map["Shipping"]
ShopId <- map["ShopId"]
}
}
class ShippingArrayRequest : Mappable {
lazy var ShippingID: Int? = 0
required init() {
}
required init?(map: Map) {
}
func mapping(map: Map) {
ShippingID <- map["ShippingID"]
}
}
添加
时获取响应Request: ["Shipping": [["ShippingID": 1], ["ShippingID": 2], ["ShippingID": 1], ["ShippingID": 2]], "ShopId": "286"]
Response : Optional({
IsStatus = 1;
response = {
Id = 286;
Message = Succes;
};
})
但它仅添加第一个对象。这是添加的响应
http://13.127.1.73:81/Shop/GetStep7?ShopId=286
URL: http://13.127.1.73:81/Shop/GetStep7?ShopId=286
Request: [:]
Response : Optional({
Data = (
{
MethodName = "Delivery To Address";
ShippingId = 689;
ShopId = 286;
}
);
IsStatus = 1;
})