在前后端分离的设计中,不管使用什么语言,后端都需要提供 WebAPI 给前端使用。如果是一个平台级的产品,还有可能需要将平台的公共 API 提供给第三方系统使用,这些都要考虑到 API 的设计。
本文聊下 API 设计可能遇到的问题以及处理方式。
问题
1、客户端种类比较多,不容易实现差异化
以我们现在正在做的低代码平台来说,存在的客户端有下面这些:
- Web 端应用程序
- 移动端的应用程序
- 第三方开发人员编写的应用程序
- 自定义组件(符合规范的 Vue 前端组件,可以无缝和平台进行整合)
- 平台配置的脚本(直接配置在平台中,可以调用接口、处理界面元素)
不同的客户端在调用接口时,输入输出会存在差异,比如:移动端的数据列表功能和结构上比 PC 端要简单很多,如果调用统一的接口,会造成浪费。
2、客户端直接对 API 进行调用
- API 如果拆分的比较细,一次操作会发出多