Не хочу сортировать параметр в последовательности сортировки alamofire

Вот мой запрос моего 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, которая принимает параметры при сортировке в строку запроса. Как избежать сортировки в запросе?

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

Словарь нельзя отсортировать. !! Если вы отправляете правильный параметр, вы должны поймать значение из строки запроса.

Prashant Tukadiya 25.10.2018 15:44

Это проблема, я не знаю бэкенда, поэтому мне нужно отправить тот же запрос, как я описал выше.

Jitendra Modi 25.10.2018 15:45

Интересно, зачем твоему парню наотмашь нужна строка запроса по порядку !! . Общайтесь с ним. и это очень плохая практика отправлять все в строке запроса, включая токен !!

Prashant Tukadiya 25.10.2018 15:50

@PrashantTukadiya какое решение?

Jitendra Modi 25.10.2018 15:58
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
4
212
1

Ответы 1

По-видимому, это уже закрытый вопрос на Alamofire. Следуйте этому ссылка.

Unfortunately Swift's dictionaries aren't order preserving, so there's no way to currently accomplish this.

Alamofire currently encodes URL parameters in alphabetical order, but there's no way to preserve an arbitrary ordering in the dictionary. So unless the order is want is a sort of some kind, or the arbitrary ordering of the dictionary.

Было бы лучше включить предложенное решение из этой проблемы Alamofire, а также объяснение. По сути, если вы хотите сохранить порядок параметров, вам нужно будет выполнить собственное кодирование параметров.

Jon Shier 29.10.2018 02:00

Другие вопросы по теме