响应json&网络异常&对网络层级的理解

  • 正确的json格式
    ** 全部字段;

    ** 部分可能字段;

  • 非json格式
    比如被网络路由劫持,响应非json格式内容;
    导致json解析异常;
  • &网络异常
    连接超时
    读取超时
    写入超时

  • &网络层级的理解

网络框架包含两个部分,client网络框架, server 网络框架,
它们遵循同一个网络标准, 建立在相同的网络协议上,
针对client网络框架,最高级的应用层采用okHttp,
okhttp帮助处理了所有网络协议上的东西,
比如对code的处理,
当底层没问题, okHttp就会把服务器的响应内容正确的返回;
当出现问题, okHttp就会用回调的方式通知外部调用;


响应json&网络异常&对网络层级的理解
image.png

就比如这个,底层走的code是200,说明没问题;
自己服务器响应的code只是一个表示而已,这个code指明的是自己服务代码逻辑的问题, 和底层网络没有半毛钱关系;
我一直理解错了, 陷入了一个死混同, 没有分清楚自己服务器的code和底层网络协议code的区别;

  • &自己服务器的code指代是自己的服务业务逻辑的问题定位;

  • &底层网络的code指代的是网络的问题, 请求头和响应头, 都是底层网络协议的相互交流,和自己的业务服务业务逻辑没有半毛钱关系;

  • &网络异常, 走的是底层协议的code;

  • &Json解析异常, 说明网络走的通, 是你自家服务业务逻辑的响应除了问题, 和网络没半毛钱关系, 和网络code也没有半毛钱关系;

  • &把网络层面的东西交给应用程网络框架来处理, 比如android客户端的okHttp, 客户端端的关注重点在于, 处理自己服务业务逻辑的事情, 比如针对自家服务的code码区分是啥情况; 针对网络异常的问题, 统一处理就可以了;