前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >接口定义规范

接口定义规范

作者头像
只喝牛奶的杀手
发布2019-08-26 16:53:55
9360
发布2019-08-26 16:53:55
举报
文章被收录于专栏:只喝牛奶的杀手

1、浮点型计算可能导致精度丢失,为了避免,可以缩小单位进行存储

2、json数据保持良好结构(信息分类)

{ "userId"... "userName"... "userPhoto"... "orderId"... "orderType"... "addressId"... "addressName"... "addressDetail"... }

3、瘦客户端(将业务重心交由后端,客户端保持逻辑简单)

客户端尽量只负责展示逻辑,不处理业务逻辑

客户端不处理金额的计算

客户端少处理请求参数的校验与约束提示(手机号和固话)

接口单一职责

4、扩展性

默认图片,特别是"xxx20分钟之内","xxx7天到期"这些带数字的文案,不可能永远不变的,即使和PM确认了打死不变,也最好通过常量配置接口进行下,尽量有后端下发

用flag替换boolean:一般情况下,一款APP都会有config接口,用于获取一些常量文案,通用配置等信息,会有很多类似开关的字段,如:"isNew","isVip","isShowBalance"等等。

通过二进制第1位表示"isNew",二进制第2位表示"isVip",二进制第3位表示"isShowBalance"。

5、安全性

脱敏操作,手机号,身份证号,可变token,参数签名匹配,接口加密(目前https)

6、兼容性

接口version,加密+version

7、性能优化

合并接口,客户端请求完A去请求B,后端一次性把AB的接口返回给客户端

字段精简,减少流量消耗

缓存

无需的字段清理

小图

局部刷新

Wifi移动网路区别对待

数据压缩(gzip)

8、体检优化

时间戳(缓存), 懒惰加载,预加载

9、通用请求参数

每个接口添加version,token,os,from,screen,model,channel,net,appId通用请求加密

10、统一命名

客户端和服务端命名保持一致,要驼峰都驼峰,要下划线都下划线

11、反序列化

Gson库在解析到某个非法字段时,会抛出各种异常,导致整个model的解析失败,自定义JsonDeserializer,提高容错性,规避脏数据引起的数据解析失败;

关于这么多Tips,如果有更好的,可以留言!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-12-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 只喝牛奶的杀手 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档