Swift Alamofire请求错误 - 通话中的额外参数

时间:2017-06-22 16:27:21

标签: ios swift request alamofire yahoo-api

我在尝试使用Alamofire时遇到错误。该错误表示在调用中有一个额外的参数'。

class SwiftStockKit {

class func fetchStocksFromSearchTerm(term: String, completion:@escaping (_ stockInfoArray: [StockSearchResult]) -> ()) {
    DispatchQueue.global(priority: DispatchQueue.GlobalQueuePriority.default).async {

        let searchURL = "http://autoc.finance.yahoo.com/autoc"

        Alamofire.request(.GET, searchURL, parameters: ["query": term, "region": 2, "lang": "en"]).responseJSON { response in

            if let resultJSON = response.result.value as? [String : AnyObject]  {

                if let jsonArray = (resultJSON["ResultSet"] as! [String : AnyObject])["Result"] as? [[String : String]] {

                    var stockInfoArray = [StockSearchResult]()
                    for dictionary in jsonArray {
                        stockInfoArray.append(StockSearchResult(symbol: dictionary["symbol"], name: dictionary["name"], exchange: dictionary["exchDisp"], assetType: dictionary["typeDisp"]))
                    }

                    dispatch_async(dispatch_get_main_queue()) {
                        completion(stockInfoArray: stockInfoArray)
                    }
                }
            }
        }
    }
}

给我一​​个错误的行是:

Alamofire.request(.GET, searchURL, parameters: ["query": term, "region": 2, "lang": "en"]).responseJSON { response in

如果有人能解决这个问题,我将非常感激,谢谢

1 个答案:

答案 0 :(得分:1)

尝试将您的请求更改为以下内容:

Alamofire.request(searchURL, method: .get, parameters: ["query": term, "region": 2, "lang": "en"], encoding: JSONEncoding.default, headers: nil)