RxAlmofire передает параметры в requestJSON [:] - PullRequest
0 голосов
/ 16 мая 2019

Ниже приведен метод, предоставляемый RxAlamofire для выполнения запроса requestJSON. Нет способа передачи параметров [String: String]

RxAlamofire.requestJSON(.get, url)
        .subscribe(onNext: { [weak self] (r, json) in
            if let jsonResult = JSON(json) as? JSON {
                if let foodMenuResult = MenuResult(jsonResult) as? MenuResult {
                    self?.delegate?.showMenu(menuResult: foodMenuResult)
                }
            }

            }, onError: {  [weak self] (error) in
                self?.delegate?.onError()
            },onCompleted: {})
        .disposed(by: disposeBag)

Как передать параметры в RxAlamofire метод requestJSON

1 Ответ

1 голос
/ 16 мая 2019

Вам нужно построить URL из URLComponents.

var components = URLComponents(string: "https://www.example.com/path")!
components.queryItems = [
    .init(name: "param1", value: "value1"),
    .init(name: "param2", value: "value2"),
]

let url = components.url!

url выше будет

https://www.example.com/path?param1=value1&param2=value2

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

...