0.0 前言
自己的团队是以Agile敏捷管理方式构建的,为了前后端的分离,使各端工程师更加专注得进行自己所负责的模块与功能。
好用的东西整理在前面:
restclient #restclient.net
#restful客户端模拟测试,有firefox、chrome插件
RAMLang #https://github.com/syple/generator-ramlang
#RAMLang is a simple, easy-to-use command line tool. It's main goal is to provide AngularJS services to help communicate with RESTful API's.
#生成AngularJS
Restlet Studio #http://restlet.com/products/restlet-studio/
#开发RESTful API,生成Server(Java/Node.js)、ClientSDK(Android/Java/Obj-C/AngularJS)
0.1 第一阶段
初步探索更有效、便捷的开发方式
Xmind #思维导图
MediaWiki #手熟的wiki系统
一开始系统设计,遵循API模式,团队内部总结JSON数据的格式及安全机制,API由Xmind的思维导图作出,而开发完成的API由开发人员在MediaWiki编写。这个阶段团队可以相对直观得设计API(思维导图),可以在开发后有效查询API(MediaWiki)。
缺陷:
1.Ximd与MediaWiki属于重复工作
2.Xmind无法以Json形式清晰罗列各种API的
0.2 第二阶段
进一步减少API设计及整理的重复工作
RESTful Web APIs #解惑的书籍,看了这本才决定去学习restful规范,以此改进自己的轮子
RAML #RESTful API Modeling Language
在学习RESTful Web APIs书之后,更加明白了RAML的重要性,不但在书写设计API时有更多的规范可以参考,更重要的是,RAML可自由转换成Wiki及HTML页面,无需重复的写入工作。
0.3 疑问与探索
继续hack掉存在麻烦或者疑惑的工作
Ask 1.RAML生成的wiki及html无法进行权限控制,如何分级来对外发布记载API的Wiki?
Ask 2.RAML是相对规范有规律的,那么如何与后台语言更高效结合,自动生成CURD?
作者:ryanemax
微信关注:ryanemax (刘雨飏)
本文出处:https://romantic-hoover-f991f1.netlify.com/cookbook/api/newforraml/
授权协议:
CC BY-SA 4.0