我有一个将一些数据发布到服务器的网址.如何使用 URL 中提到的所有参数将其转换为 alamofire 发布请求方法



let url = "(InsertAsset(?customerID=(vmanagerappDelegate.cust_Id!(&assetTag=(self.txt_AssetTag.text! as String(&modelID=(modelObject(&statusID=(statusObject(&serial=(self.txt_Serial.text! as String(&assetName=(self.txt_AssetName.text! as String(&purchaseDate=(selectedPurchaseDate(&supplierID=(supplierObject(&purchaseCost=(purchaseCostObject(&warranty=(self.txt_Warranty.text! as String(&notes=(notesObject(&locationID=(locationObject(&ownerID=(ownerObject(&addUserID=(vmanagerappDelegate.userId

as String(&saleEndDate=(self.txt_Sale_End_Date.text! as String(&softwareMaintainenceEndDate=(self.txt_Software_Maintainence_End_Date.text! as String(&supportEndDate=(self.txt_Support_End_Date.text! as string(&MacAddress=(self.txt_Mac_Address.text! as String(&sitekey=testing">
嗨,

您可以像下面这样创建字典以在 Alamofire 中将参数作为字典发送:

var dicParam = Dictionary<String,AnyObject>()
dicParam[“customerID”] = vmanagerappDelegate.cust_Id!
dicParam[“assetTag”] = self.txt_AssetTag.text! as String
dicParam["modelID"] = modelObject

在Alamofire中,将上面的字典作为参数以及您的URL一起传递,如下所示:

Alamofire.request("Your URL", method: .post, parameters: dicParam, encoding: URLEncoding(destination: .queryString), headers: nil).responseJSON {
            response in
            switch response.result {
            case .success:
                print(response)
                break
            case .failure(let error):
                print(error)
            }
        }

尝试创建一个二分法

let params:Dictionary<String, AnyObject>  = ["customerID":vmanagerappDelegate.cust_Id!,"assetTag":self.txt_AssetTag.text,"modelID":modelObject]  //similarly add all params to Dict

如果您想添加一些标题,也为它们创建 dicitonary 标题并传入Alamofire.request(.POST,url,parameters: params,headers:Header,encoding: .JSON)

发布请求示例

func remotePOSTServiceWithParameters(urlString : String , params : Dictionary<String, AnyObject> , callback:(data: Dictionary<String, AnyObject>?, error: NSError? ) -> Void)  {

         print("Request POST URL:(urlString) PARAMS:(params)")
        Alamofire.request(.POST,urlString,parameters: params,encoding: .JSON)
            .validate()
            .responseJSON {
                response in
                guard response.result.error == nil else {
                     print("Error for POST :(urlString):(response.result.error!)")
//                    
                    callback(data: nil , error: response.result.error! )
                    return
                }
                if let value = response.result.value {
                    print("JSON: (value)")
                    if let result = value as? Dictionary<String, AnyObject> {
                        print("Response for POST :(urlString):(value)")
                        callback(data:result , error: nil )
                    }
                }
          }
    }

最新更新