背景
最近被安排去与外部系统进行接口联调,公司封装了一套Http请求类。后因开发人员有改造需求,则改造开始
具体改造
原始请求中只封装了响应码,成功再封装响应的文件,如请求失败,只能靠状态码来对应失败描述,由于外部接口文档迟迟不给,也考虑到后期开发人员可以跳过此文档来进行错误查看(少看一个文档他不香吗)
改造过程
初始伪代码
请求->拿到响应码->通过HttpEntity获取文件->返回
最终伪代码
请求->拿到响应码->判断响应码
成功(通过HttpEntity获取文件->返回)
失败(通过HttpEntity获取失败描述->返回)
思路
先拿到响应码,对响应码作判断
成功的话封装响应信息,并且封装响应文件至Model;失败同理;
由于HttpEntity 只能操作一次,则在获取后Cpoy一份至内存:
HttpEntity responseEntity = httpResponse.getEntity();
responseEntity = new BufferedHttpEntity(responseEntity);
这样就能多次操作HttpEntity内的数据了
坑
由于手上没有外部系统的接口文档,接口成功不会有描述信息,导致成功的描述为文件流,后来只能默默的加上if判断了。