【问题标题】:Send empty array with Alamofire API Rest使用 Alamofire API Rest 发送空数组
【发布时间】:2018-01-20 23:08:53
【问题描述】:

我想使用 patch 方法将一个空数组发送到 Rest Full API。但我不知道为什么它不起作用。事实上,我也在使用邮递员来测试我的请求,并且这个请求在邮递员中运行良好(我希望 wordTrads 为空):

这就是我使用 Alamofire 实现在 Swift 中调用的 API 的方式:

let parameters = [
     "wordTrads" : [],
]
Alamofire.request("\(Auth.URL_API)/lists/205",method: .patch, parameters : parameters).responseJSON { (response) in
   print("List patched")
}

但是如果 Alamofire 不发送空数组,它就不会像 swift 那样工作。

我正在使用 Alamofire 4.6.0 和 Swift 4。

【问题讨论】:

    标签: json swift alamofire


    【解决方案1】:

    您的屏幕快照表明您希望发送 JSON,但您的 Alamofire 语法没有这样做。如果要发送 JSON,则需要添加 encodingJSONEncoding.default

    let parameters = [
         "wordTrads" : []
    ]
    
    Alamofire.request("\(Auth.URL_API)/lists/205", method: .patch, parameters: parameters, encoding: JSONEncoding.default)
        .responseJSON { response in
            switch response.result {
            case .success(let value): print(value)
            case .failure(let error): print(error)
            }
    }
    

    如果你这样做,请求的正文会包含 JSON 格式的空数组:

    {"wordTrads":[]}
    

    【讨论】:

      猜你喜欢
      • 2021-12-09
      • 2019-09-06
      • 2018-06-23
      • 2015-03-03
      • 1970-01-01
      • 2021-01-17
      • 1970-01-01
      • 1970-01-01
      • 2020-01-13
      相关资源
      最近更新 更多