RxAlmofire 将参数传递给 requestJSON [:]

RxAlmofire pass parameters to requestJSON [:]

以下是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方法

您需要从 URLComponents 构建 URL

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 处理的要求。