Параметры отправки и получения в запросе Alamofire - PullRequest
0 голосов
/ 11 мая 2018

У меня есть одна проблема в моем проекте: Вот мой URL

www.someapi.com / продукт / фильтр? Диапазон [колонок] = цена & диапазон [значение] [Г] = 7000 & диапазон [значение] [GTE] = 1000 & смещение = 10 & предел = 10 & Ланг = еп

Как видите, есть GET метод параметров

Но у меня есть метод POST, поэтому тело сообщения

{"category_id":4017,"filter":[{"filter_id":"214","value_ids":["7632","6433"]}],"type":"2"}

Так можно ли комбинировать параметры получения и публикации в Alamofire? Я искал ответ в их github, но нет никакого результата.

1 Ответ

0 голосов
/ 11 мая 2018

Да, вы можете смешивать параметры строки запроса с телом POST.

Также, обратите внимание, что параметры запроса не GET специфичны.Пока ваш API обрабатывает его, он будет работать.

Это не проблема Alamofire, а скорее связано с вашим дизайном API

  • Если API не работает поддерживает метод POST, тогда вы не сможете отправить полезную нагрузку.
  • Если API не обрабатывает параметры строки запроса, они не будут работать.

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


Пример использования:

    let strURL = "www.someapi.com/product/filter?range[column]=price&range[value][lte]=7000&range[value][gte]=1000&offset=10&limit=10&lang=en"

    let payload: [String:Any] = ["category_id":4017,
                                 "filter":[["filter_id":"214",
                                            "value_ids":["7632",
                                                         "6433"]]],
                                 "type":"2"]

    Alamofire.request(strURL,
                      method: .post,
                      parameters: payload,
                      encoding: JSONEncoding.default,
                      headers: nil)
...