Не хочу сортировать параметр в последовательности сортировки alamofire - PullRequest
0 голосов
/ 25 октября 2018

Вот мой запрос моего API

http://xxxxxxxxxxxxxx/Service/GetEntry.aspx?FromDate=01/08/2018&RID=1&ToDate=25/10/2018&TokenID=1e731b96-4261-453b-848c-5b1a0d44f808

Но мой первоначальный запрос похож на http://xxxxxxxxxxxxx/Service1/GetEntry.aspx?TokenID=5edc678f-82ee-4cf8-956e-5f1d3798dfec&RID=1&FromDate=01%2F08%2F2018&ToDate=25%2F10%2F2018

Вот мой запрос парам и вызов API

        var param = [String:Any]()
        param["TokenID"] = tokenId
        param["RID"] = Rid
        param["FromDate"] = DateUtilities.convertStringfromDate(date: DateUtilities.getDateofMonthStartOfLast2Month())
        param["ToDate"] = DateUtilities.convertStringfromDate(date: Date())

        print(param)

        // Network request
        Alamofire.request(finalURL, method: .post, parameters: param, encoding: URLEncoding.queryString, headers: headers).responseJSON { (response: DataResponse<Any>) in

        // check result is success
        guard response.result.isSuccess else {
            failure((response.result.error?.localizedDescription)!,"100")
            return
        }

        if let arrResponse = response.result.value as? [[String: Any]]{
            // get status code
            if arrResponse[0]["Status"] as? String ?? "" == "Error"{

                let statusCode = arrResponse[0][Constants.ResponseKey.code] as? String ?? "0"

                if statusCode == "8"{
                    //Call logout api
                    ApplicationData.sharedInstance.logoutUser()
                    return
                }
                // get status message
                let message = arrResponse[0][Constants.ResponseKey.message] as? String ?? ""

                failure(message,statusCode)
                return
            }

            success(arrResponse, "")
            return

        }
    }

Но из-за несоответствия последовательности я не получаю в соответствии с желаемым ответом, я получаю ошибку в ответе API. Здесь я думаю, что это проблема alamofire, которая принимает параметры при сортировке в строку запроса.Как мне избежать сортировки в запросе?

Пожалуйста, помогите мне с этим.

1 Ответ

0 голосов
/ 25 октября 2018

Очевидно, это закрытый вопрос на Alamofire. Следуйте по этой ссылке .

К сожалению, словари Swift не сохраняют порядок, поэтому в настоящее время нет способа сделать это.

В настоящее время Alamofire кодирует параметры URL в алфавитном порядке, но нет способа сохранить произвольныйпорядок в словаре.Так что, если порядок не нужен, это что-то вроде произвольного порядка словаря.

...