最近在写一个应用,涉及到几个外部数据源的操作,API 设计上有一些矛盾,大家觉得哪种好,还是有其他的设计?
- 创建数据源
POST /data-source
- 获取支持的数据源类型列表
// 感觉 URL 太长
GET /data-source-type
// 跟 GET /data-source/{id} 重叠了
GET /data-source/types
- 提供连接参数,检测数据源是否可用
POST /data-source-check
POST /data-source?action=check
- 创建之前初始化数据源,比如创建 MySQL 表
POST /data-source-init
POST /data-source/init
POST /data-source?action=init
总结来说就是 对象未创建之前进行的一些操作怎么设计,比如:
检查用户是否存在 vs 创建一个用户