Alamofire 放置请求
Posted
技术标签:
【中文标题】Alamofire 放置请求【英文标题】:Alamofire put request 【发布时间】:2015-05-01 21:38:01 【问题描述】:尝试让 Alamofire put 请求工作,但系统显示“Extra Argument in Call”
Alamofire.request(.PUT, apiUrl,params,ParameterEncoding.JSON)
.responseJOSN (request, response, products: [Product]?,error) in
println(request)
println(response)
println(data)
println(error)
谁能解决这个问题?
【问题讨论】:
【参考方案1】:您的代码示例中有多个问题。这是一个更正的版本,应该可以帮助您:
let apiURLString = "whatever/your/url/is"
let parameters: [String: AnyObject] = [:] // fill in your params
let request = Alamofire.request(.PUT, apiURLString, parameters: parameters, encoding: .JSON)
request.responseJSON request, response, json, error in
println(request)
println(response)
println(json)
println(error)
我还鼓励您深入阅读 Alamofire README。它包含一些很棒的信息,应该可以让您更轻松地掌握基础知识。
【讨论】:
感谢您的回复 Cnoon,使用您提供的相同代码,显示错误“找不到成员 .PUT”和“找不到成员 JSON”。请帮我解决这个问题。 我猜你有一个项目设置问题。你还记得import Alamofire
吗?您是如何将 Alamofire 添加到您的项目中的?有一些很好的例子说明如何将 Alamofire 添加到您的项目 here。
获取请求对我来说工作正常。这是否意味着项目设置正常?你有一些带有 put 请求的示例项目吗?【参考方案2】:
由于 'alamofire' '~2.0' 改变了参数的数量 您可以尝试使用以下代码块:
Alamofire.request(.PUT,apiUrl,params).responseJSON request, response, result in
print(request)
print(response)
print(result.value)
if(result.isSuccess)
//Do in success block
else
//Do in failure block
Alamofire.request 没有可用的 error 处理程序参数,因此它向您显示“调用中的额外参数”
【讨论】:
以上是关于Alamofire 放置请求的主要内容,如果未能解决你的问题,请参考以下文章