以下是我在Alamofire中的POST请求,其中我的参数值是可选的。我希望允许用户调用此API来设置所需的参数,即使它为空(相当于重置为空默认值)。
下面是我的请求和参数“status”的示例,它是一个可选变量,预期接受null值:
下面是我的请求和参数“status”的示例,它是一个可选变量,预期接受null值:
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\")"
)。当我尝试强制解包字符串时,这些空值将导致致命错误。此外,我还尝试了将null作为请求参数的值传递的方法,但无论如何都不起作用。
我不明白该如何修复它,有人可以帮忙吗?非常感谢!
let parameters: [String : Any] = ["status": status as Any]
- Same7Farouk