OpenAuth.Net/docs/core/dynamicapi.md
2025-03-31 11:01:38 +08:00

2.3 KiB
Raw Blame History

动态API

加快系统开发速度框架提供动态API功能可以实现无代码调整操作数据库。

数据库操作

在开发过程中对于有些简单表的处理如果每次都编写对应的增删改查会增加工作量且代码臃肿。这时我们可以使用动态API来处理。只需要前端按规范调用即可后端无需做任何工作。OpenAuth.Net的动态API支持以下功能

  • 新增记录 /api/dynamicapi/add
  • 修改记录 /api/dynamicapi/update
  • 删除记录 /api/dynamicapi/delete
  • 查询单条 /api/dynamicapi/get
  • 查询列表 /api/dynamicapi/getlist

具体的参数可以查询对应的接口文档。我们以一个简单的表noentity为例来说明如何使用动态API。

CREATE TABLE `noentity` (
  `id` varchar(50) NOT NULL, 
  `name` varchar(255) NULL,
  `age` int(11) NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

无需在后端添加任何代码,只需前端按规范调用即可。

新增记录

前端请求方式为POST,请求地址为/api/dynamicapi/add,请求参数为:

{
  "tableName": "noentity",
  "obj": "{\"name\":\"测试\"}"
}

修改记录

前端请求方式为POST,请求地址为/api/dynamicapi/update,请求参数为:

{
  "tableName": "noentity",
  "obj": "{\"id\":\"1\",\"name\":\"测试新\"}"
}

注意修改的时候必须包含主键Id字段。

删除记录

前端请求方式为POST,请求地址为/api/dynamicapi/delete,请求参数为:

{
  "tableName": "noentity",
  "ids": ["1"]
}

查询单条记录

前端请求方式为POST,请求地址为/api/dynamicapi/get,请求参数为:

{
  "tableName": "noentity",
  "id": "1"
}

查询列表

前端请求方式为POST,请求地址为/api/dynamicapi/getlist,请求参数为:

{
  "tableName": "noentity",
  "pageIndex": 1,
  "pageSize": 10
}

调用已有模块

除了数据库操作,系统内置一个接口/api/dynamic/Invoke前端可以直接通过这个接口调用OpenAuth.App层的方法。

{
  "serviceName": "UserManagerApp",
  "methodName": "Load",
  "parameters": "{\"request\":{\"page\":1,\"limit\":10,\"key\":\"\"}}"
}