基于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
有空再细细修改完善