📃 使用操作入门

基本概念

前言: DataSerivce 务求一切操作简单化,不创造过多概念,但一些前提的概念是必须的,——请放心,只要你是个 CRUD Boy 便会觉得很简单:)

命名空间 Namespace

DataService 中的一个服务就是可配置的最基础单元,“命名空间 Namespace”表示其名字,也是构成 HTTP API URL 上面的一部分。不确切地说,它相对应于 SQL 中的一张表, 当然这种类比不是强耦合的,例如:

一个服务(或者说“一个命名空间”)可以有一个或多个 SQL 操作,对应一个或多个 HTTP API 地址,比如说一个服务默认有 CRUD 四个的 SQL 操作(一般都是围绕一张表操作的),对应着四个 API 入口;但也可以只有一个(自定义的 SQL)。CRUD 不够可以扩展,一个命名空间下可允许有多个子命名空间。当前最多两级的命名空间结构。

DataService 并不会负责业务实体的建模、建表等操作,但是会从现有的数据表中获取相关的信息来进行配置。 建模的方法论与传统的关系型数据库开发模式一致,前期仍是分析、设计(ER 图/UML)、建表等的流程。

CRUD

数据实体(Entity)有四种基础的操作:增删改查 CRUD。在 DataService 中它们的关系如下表所示。

创建实体 Create 查询实体 Read 更新实体 Update 删除实体 Delete
HTTP 方法 POST GET PUT DELETE
SQL 命令 INSERT INTO SELECT UPDATE DELTETE/UPDATE(逻辑删除)
DataService 操作 根据提交的数据转化为 INSERT INTO 语句去操作 获取单笔详情 根据提交的数据转化为 UPDATE SQL 语句去操作 删除逻辑或物理删除
获取多行列表(不分页)
获取多行分页列表
API 入参 标准表单或 JSON 数据 Path 参数或 QueryString 参数 标准表单或 JSON 数据 Path 参数或 QueryString 参数,只须 id 参数
API 出参 新建实体的 id 单笔详情 {} 对象
列表 [] 数组
是否成功 是否成功

DataService 各项功能围绕 CRUD 展开,上述的“SQL 命令”与“DataService 操作”两部分,不仅提供默认通用的 CRUD 操作,而且如果不满足的话,还可以自定义 SQL 逻辑(下小节详述)。 不论哪种方式,均采用约定好的固定搭配请求服务,假设/common_api为数据服务的专属 API 前缀、 foo为命名空间,则有以下固定的请求操作。

默认 CURD v.s 自定义 SQL