RxAlmofire 将参数传递给 requestJSON [:]

Posted

技术标签:

【中文标题】RxAlmofire 将参数传递给 requestJSON [:]【英文标题】:RxAlmofire pass parameters to requestJSON [:] 【发布时间】:2019-05-16 14:36:22 【问题描述】:

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

【问题讨论】:

您的意思是 URL 中的查询参数? 是的,使用 rxalmofire 时如何向 url 添加查询字符串参数 【参考方案1】:

您需要从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 的要求。

【讨论】:

以上是关于RxAlmofire 将参数传递给 requestJSON [:]的主要内容,如果未能解决你的问题,请参考以下文章

将对象作为参数传递给 GraphQL Mutation (graphql-request)

将参数传递给FormView Django中的表单

如何将查询url参数传递给twig模板

如何将参数传递给 Laravel 包中的控制器操作?

将参数传递给 Laravel 中的中间件

如何将两种形式作为参数传递给 laravel 控制器?