Alamofire url编码的请求参数未被添加

时间:2015-11-20 14:54:54

标签: url parameters request alamofire

我关注Alamofire的CRUD和授权部分:

enum Router: URLRequestConvertible {

所以我想要完成的基本上是一个简单的PUT请求,如下所示:

http://localhost:8080/rest/users/add?id=

所以在我的代码中我有:

 let requestParam : [String : AnyObject] = ["id" : "\(SOMEID)"]
  Alamofire.request(Router.AddUser(parameters: requestParam))
    .validate()
    .responseString { response in
      switch response.result {
      case .Success:
     ..

但是,关注我的服务器并没有获得此id参数。

调试NSMutableURLRequest,我发现未添加id参数。

case .AddUser(let parameters):
        print(parameters)
        let encodedURL = Alamofire.ParameterEncoding.URL.encode(mutableURLRequest, parameters: parameters).0
        print (encodedURL)

控制台输出:

  

[" id":5649fec6d4c662c573d39fb4]    {URL:http://localhost:8080/rest/users/add}

这真的很奇怪,因为我的另一种方法几乎完全相同,但我没有遇到同样的问题。

修改:

经过一些试验后发现它是因为该方法是PUT。如果是GET方法,则正确添加参数。有谁知道为什么我不能为PUT提供请求参数?这是故意的吗?

0 个答案:

没有答案