Moya任务中的可选参数

Posted

技术标签:

【中文标题】Moya任务中的可选参数【英文标题】:Optional parameters in Moya task 【发布时间】:2019-06-10 17:35:38 【问题描述】:

我正在使用Moya,并且有一种情况,对端点的请求的某些参数是不需要的,所以目标看起来像这样:

case save(projectId: Int?, seconds: Int, description: String?)

目前 Moya 的 requestParameters(parameters:encoding:) 方法需要 [String:Any] 类型的字典。

这种情况有解决方法吗?提前致谢。

【问题讨论】:

您总是通过字典(可以为空)发送参数。您在问如何在打开可选参数(projectId 或 description)时不能在字典中插入值?或者您是在问是否可以避免指定参数? (顺便说一下,你的秒数不是可选的) 【参考方案1】:

Tigran jan if-let ov stugi ete nil chi,也不是 qic dict-i mej。

switch self 
case .save(projectId: let projectId, seconds: let seconds, description: let description): 
    var params: [String:Any] = ["seconds" : seconds] 
    if let projectId = projectId 
        params["projectId"] = projectId
     

    if let description = description 
        params["description"] = description
    
    return .requestParameters(parameters: params, encoding: JSONEncoding.default)

【讨论】:

梅尔西,阿图尔 jan。 Chishtn asac, et lucum@ parz er, uxaki mtacum ei, vor karoxa aveli 优雅的 tarberak exner。阿门 depqum k@ndunem patasxant :)

以上是关于Moya任务中的可选参数的主要内容,如果未能解决你的问题,请参考以下文章

PHP函数中的可选参数不考虑顺序

参数 SwiftUI 中的可选绑定

TypeORM queryBuilder 中的可选参数

Mathematica 中的可选命名参数

可变参数后元组中的可选函数参数

如何匹配url中的可选参数? [复制]