基于json的数据传输设计 - 面向接口开发
- 脱离贫困 - 满足基本需求
- 走向小康 - 丰满格式设计
- 提升精神 - 添加容错机制
- 加强品质 - 加固安全机制
- 开放眼界 - 整体框架设计
- 追求真理 - 实践博客系统
- 茶余饭后 - 整理细枝末节
- 团队合作 - 面向接口开发
-
面向接口的工作方式
- 实时维护更新的文档
- 唯一的系统设计者
- 面向
API的开发者 - 健全的
api测试体系和发布流程
-
实时维护更新的文档
在应用开发中,我尝试过多种维护方式- 本地文件
发布新文档导致开发者手中有多份,实时性不够 - 在线自建静态web
更新手段复杂 - 在线文档 :
UzerMe/google doc
存在多份缓存 - 在线实时文档 : 石墨
没有更新提示 - 在线
api文档 :apiview
符合所有要求
- 本地文件
唯一的系统设计者
所有的修改都应该经过系统设计者同意,然后更新到文档,同时api和客户端开发者同步更新,开发者之间只能讨论而不应该擅自修改设计,避免造成文档和实现不同意导致的维护性问题面向
API的开发者
开发者应当在知晓业务流程的情况下面向api开发-
健全的
API测试流程和发布流程
一个接口只有经过完整的测试才应该发布,在保证完成业务需求的情况下,还得保证接口的健壮性.
比如一个用户登录的接口- API001 : USER_LOGIN
- 功能简介 : 用户登录,该接口会刷新
token,该接口sign的token为空 - 接口地址 : {server_url}/user/count/login
- 接受参数 : |tel |string |not null |电话号码:11位置 |
|pwd |string |not null |密码:md5加密 |- 返回参数 :{ 201 : 账户或者密码错误 | 202 : 账户被封锁 | 203 : 登录次数过多}
{ "code":"200", "summary":"success", "data":{ "id":"1 ### 用户的id", "name":"冬追夏赶 ### 用户昵称", "icon":"http://img_url ### 图标地址", "token":"idJDidjendksjcndkflskdnidjfndnfj" } } - 功能简介 : 用户登录,该接口会刷新
这时候存在这几种情况
-tel为空pwd不为空
-tel不为空pwd为空
-tel和pwd都为空
-tel和pwd都为空 , 但是tel不存在
-tel和pwd都为空 ,tel存在 但是pwd错误
-tel和pwd都为空 ,tel和pwd正确,但是账户被封锁
我们只有在保证这些情况下接口都运行没有问题,才能发布这个接口给开发者,同时我们应当保留每个接口的测试,在下次修改的时候再次运行这个测试以保证接口的可用性和健壮性. - API001 : USER_LOGIN
有空再细细修改完善