这一系列的文章,主要是结合了参加Oracle code之后对于API治理的记录收获,以及回到公司后,根据公司目前的一些现状,对此加以实践的过程总结
API生命周期通常包括八个内容,而安全策略贯穿始终。
1,计划
准备、
语义:如何询问自己的服务?它支持什么字段,哪些字段是可过滤的?如何仅通过过滤和排序获取所需的信息?在不同场景中的JSON响应???等等。
架构、风格
2,设计
规范、原型、模拟服务
在后续的博客中,主要介绍API设计的工具,以及模拟服务测试。主要以swagger为主
(现在很多人在项目中继承swagger用于生成API文档,这毫无疑问的节省了编写接口文档的工作(这个结论主要来源于我所查询到的博客说法,什么和Spring的集成啊,各种集成以便于在开发中引入swagger注解生成文档),但是本人对于swagger等工具的用法有另外的理解。)
试想,如果等API开发完成之后,再拿生成的API文档去生产,这中间的时间耗费怎么算???如果开发完成的接口不合适,那这怎么办???
要注意的是,类似于swagger,blueprint的API描述规范工具,它们的使用,处于API生命周期的第二个阶段——设计,并不是它的实施阶段。
3,实施
代码开发、集成、部署
后续主要会根据API-frist、design-first、code-first加以阐述
4,发布
文档(包括API规范文档和使用文档)、API消费者—开发者门户
这块内容,我暂且预定会结合着API网关进行说明
5,操作
API消费发现和使用
6,监控
分析、反馈、性能监控等
7,维护
版本控制
首先是版本表示的几种方式:URL、参数、主机地址
其次,是API的版本策略
在API的版本策略中,需要考虑的点有:
1,当前版本不可用时,如何处理其调用???——可默认指向下一个最旧的可用版本
2,如何处理没有指定版本的请求???——可默认指向最旧或者最新的可用版本
8,下线