我尝试使用Alamofire(标头令牌身份验证)发出POST请求,但却被抛出错误
无法将类型“[String:String]”的值转换为所需的参数类型“[String:String]”
我该如何修复它?
这是我的代码:
func validationSuccessful() {
let Auth_header = [ "Authorization" : Data.sharedInstance.token ]
Alamofire.Manager.sharedInstance.request(.POST, Data.weeklyEndpoint, headers: Auth_header, parameters: ["username": Data.sharedInstance.userName!, "password": Data.sharedInstance.passWord!]).responseJSON {
response in
if let result = response.result.value
{
print(response.request)
print(response.response)
print(response.result)
}
else
{
print("JSON data is nil.")
}
}
}
3条答案
按热度按时间qaxu7uf21#
您的Data.sharedInstance.token是一个可选的...要修复此问题,您可以编写
但是您应该先检查您的token是否为null。例如:
cbeh67ev2#
您可以使用类似于以下代码AF.request(URL_THEARTER,方法:.get,参数:nil,编码:JSON编码。默认值,头:如果您有任何问题,请单击“取消”。
bvjveswy3#
我也有同样的问题,经过四个小时的斗争摆脱掉。下面的链接帮助我解决我的问题。
https://stackoverflow.com/a/50149146/7417935
实际上我打印了回复,上面清楚地写着
应用程序传输安全策略需要安全连接。
如以上链接所述,我们必须添加条目
将应用程序传输安全设置添加为字典
然后添加传输安全的子级
允许任意加载,为布尔值并设置为true/YES。