Alamofire GET请求参数

时间:2016-08-09 11:03:57

标签: swift alamofire

使用参数发送GET请求时,url以不同的方式编码

http://someurl/search-ads?attributes[elevator]=1&attributes[ranges][square][]=20.0&attributes[ranges][square][]=170.0&cities[]=somecity&currency=kgs&has_images=0&not_first_floor=1&not_last_floor=1&order_type=sale&rating__gte=5&rating__lte=10000&specialty=2

但它应该是

http://someurl/search-ads?specialty=7&order_type=sale&attributes={"ranges":"{\"square\":[2450,8190]}"}&cities=somecity&page=1 

是否有任何设置需要更改,以强制Alamofire以第二种方式进行编码?

我正在使用Alamofire 3

这是我的方法

func makeSearch(search: GeneralSearch) {
        let request = Alamofire.request(.GET, SearchURL, parameters: Mapper().toJSON(search), encoding: .URL).validate().responseJSON {
            response in
            switch response.result {
            case .Success:
                if let responseValue = response.result.value {
                    print(responseValue)
                }
                break
            case .Failure(let error):
                print("Error: " + error.localizedDescription)
                break
            }
        }
    }

1 个答案:

答案 0 :(得分:-2)

在Swift 3和Alamofire 4中

这是get方法的最新语法

Alamofire.request(" Your URL Here ", method : .get, parameters: Parameter).responseJSON { response in
            let data = response.result.value as! NSArray
            for dfd in data
            {
                self.Arrayimages.append(dfd as! String)
                print(dfd)
                self.collectionView.reloadData()
            }
        }

希望这可能有助于作为参考

由于