ios - Swift Alamofire - 使用 NULL 值参数的 POST 请求

标签 ios swift post alamofire option-type

我在下面有 Alamofire POST 请求,我的参数值是可选的。我想允许用户调用此 API 来设置所需的参数,即使它是 NULL(它有点重置为空默认值)。

这是我的请求,参数 status 是一个可选变量,它应该接受空值:

let URL_UPDATE_STATUS = URL_HOME + "/v1/updateStatus/" + dataId
let parameters: [String : Any] = ["status": status as Any]
                
Alamofire.request(URL_UPDATE_STATUS, method: .post, parameters: parameters, encoding: URLEncoding(destination: .queryString), headers: self.headers).responseString { response in
    switch response.result {
    case .success:
        print("[Log] Update Status Success")
    case .failure(let error):
        print("[ERROR] UpdateStatus - \(error)")
                
        APIErrorHandler(response: response, error: error)
    }
}

但是,我尝试了几次,它总是返回一些错误。我试图成为可选的,但我发现它不是插值的(即它变成了 "Optional(\"SOME_STATUS\")")。当我试图强制解包字符串时,这些空值将导致 fatal error 。而且,我尝试了将 null 作为请求参数的值传递的方法,但它无论如何都不起作用。

我不知道该如何解决,有人可以帮忙吗?非常感谢!

最佳答案

您可以创建参数字典,然后为其赋值。 在这种情况下,它们的键值要么不存在。

var parameters: [String : Any] = [:]
parameters["status"] = status

关于ios - Swift Alamofire - 使用 NULL 值参数的 POST 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62992597/

相关文章:

swift - Swift 中的协议(protocol)见证表和 vtable 有什么区别?

ios - 如何在iOS项目中通过unix shell命令(或命令工具)修改 ".strings"文件?

ios - 如何从 plist iOS 读取数组

ios - 创建一个仅作为 gif 的自定义 UIView

ios - CollectionViewCell 的事件指示器未禁用

java - 如何从JSP页面获取数据到servlet

PHP : checkboxes and name issue

asp.net-mvc - HttpClient传递多个简单参数

iphone - 您可以使用 list 或网络存储在 iOS 网络应用程序中缓存声音文件吗?

iphone - MkMapView tap + 注释选择问题