近期在开发一个手机项目,主要为客户端提供后台访问接口,由于要满足用户在2G信号和3G信号下都能使用,保证访问速度。因此在整个系统中,返回的格式参数都统一定义为json。
1 选用json的好处:
1 json和xml数据格式相比,没有大量的无用标记符,都是实际的业务字段,大大减少了数据量
2 json 数据格式简单,便于解析,我在项目中使用的是阿里巴巴的fastjson这个开源工具包,通过它来转换实体对象和json非常方便
3 json格式返回字段格式统一定义为
{"result":"Y",data:{业务数据}} //逻辑正确的情况
{"result":"N","errorCode":"xxxxxx","errorMsg":"XXXXXXXX"} //参数错误的情况,errorCode 为错误码,errorMsg 为错误信息
2 由于客户端的版本会不断的更新,功能不断的增加。
在定义接口的时候,每个接口都会带上客户端的版本号和访问api的版本号
api.xxxx.com/xxxx.htm?client_ver=1.0&api_var=1.2
3 有些接口返回的数据量可能会很大,在2G流量的情况下,会访问很慢,甚至链接超时。
为了解决这种问题,在后台返回数据的时候,
通过gzip统一对数据进行gzip压缩,客户端接收到数据后在解压缩还原数据,这样便大大提高了访问的响应速度