最近学习构建云原生要素时,发现了API First这一要素,简单聊聊.
什么是API First?
字面意思,就是API先行的意思,意味着在开发代码的时候先设计好API,而不是在实现内部后再抽象出API出来。
为什么需要API First?
- 相较于传统的单体应用,基于云的微服务往往拥有诺干个,微服务互相之间通信的接口契约是怎么样的,一定要在设计之初把接口定义好。
- API First可以使不同服务的团队之前能够遵守一个契约,同时前进又不互不干扰。
- API First的这套理念并不只适用于云原生构建微服务,在开发工作中,以API为准则可以使得团队减少很多不必要的矛盾。
如何实践好API First?
最近项目组用的Swagger这个框架,我觉得是非常有帮助的。
什么是Swagger ?
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。
为什么用Swagger ?
- 可以自行设计API,生成模拟,文档,可以清晰能看到API的结构层次,以及提供数据结构
- 协商团队开发。在团队开发中,时常会出现API不清晰的困扰。如果一开始通过Swagger执行API First ,那么后面各个模块的开发人员便有了一个基准规范。
- 可对接口进行测试.
最后贴图一张项目中的Swagger UI 界面

网友评论