Swift3.0--使用Alamofire网络请求传参JSON报文

前言:在开发新的项目过程中,总会遇到各种各样之前见过没见过的问题,比如昨天,跟新同事对接口的时候,告诉我不是传的普通方式的parameters,而是JSON报文格式的,对于从来没这么搞过的我是欲哭无泪啊,各种度娘G爷的,最后灵光一闪,搞出来了,特此记录一下!

前提条件:swift3.0 、有接口

我以我们登录接口为例:
在登录按钮的点击事件里面,将url、parameter定义好(定义就不用说了吧)之后,开始写Alamofire网络请求

Alamofire.request(URLString, method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: nil)
                .validate()
                .responseJSON { response in
                    CK().dismissMask()
                    
                    switch response.result{
                    case .success:
                        if let value = response.result.value{
                            //把得到的JSON数据转为字典
                            complicate(value as AnyObject)
                        }
                    case .failure:
                        DMCAlertCenter.default().postAlert(withMessage: "请求失败")
                        return
                    }
                }

可以看到在encoding的地方我使用的是JSONEncoding,而我们一般用的是URL的编码格式,就这一点是解决这个问题的关键!

现在关于这个的文章不是太多,大多数是写如何将参数(字典)转为json字符串的,因为在找到最终原因之前我也试了那个方法,但是请求的地方就会报错,所以希望这点能帮到遇到同样的问题的朋友。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,314评论 19 139
  • 原文: Alamofire 4.0 Migration Guide作者: cnoon译者: kemchenj 译者...
    kemchenj阅读 8,028评论 4 12
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,194评论 4 61
  • Alamofire 是一款 Swift 写的 HTTP 网络请求库 前言 本篇内容为 Alamofire 官方 R...
    zongmumask阅读 21,061评论 6 66
  • 一、使用Alamofire进行数据请求 1,以GET请求为例 (1)不带参数,不带结果处理 Alamofire.r...
    否极泰来_L阅读 13,369评论 0 9