mirror of
https://gitee.com/dotnetchina/OpenAuth.Net.git
synced 2025-09-19 18:22:11 +08:00
98 lines
2.3 KiB
Markdown
98 lines
2.3 KiB
Markdown
# 动态API
|
||
|
||
加快系统开发速度,框架提供动态API功能,可以实现无代码调整操作数据库。
|
||
|
||
## 数据库操作
|
||
在开发过程中,对于有些简单表的处理,如果每次都编写对应的增删改查,会增加工作量,且代码臃肿。这时我们可以使用动态API来处理。只需要前端按规范调用即可,后端无需做任何工作。OpenAuth.Net的动态API支持以下功能:
|
||
|
||
- 新增记录 `/api/dynamicapi/add`
|
||
- 修改记录 `/api/dynamicapi/update`
|
||
- 删除记录 `/api/dynamicapi/delete`
|
||
- 查询单条 `/api/dynamicapi/get`
|
||
- 查询列表 `/api/dynamicapi/getlist`
|
||
|
||
具体的参数可以查询对应的接口文档。我们以一个简单的表`noentity`为例,来说明如何使用动态API。
|
||
```sql
|
||
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`,请求参数为:
|
||
|
||
```json
|
||
{
|
||
"tableName": "noentity",
|
||
"obj": "{\"name\":\"测试\"}"
|
||
}
|
||
```
|
||
|
||
#### 修改记录
|
||
|
||
前端请求方式为`POST`,请求地址为`/api/dynamicapi/update`,请求参数为:
|
||
|
||
```json
|
||
{
|
||
"tableName": "noentity",
|
||
"obj": "{\"id\":\"1\",\"name\":\"测试新\"}"
|
||
}
|
||
```
|
||
注意修改的时候,必须包含主键Id字段。
|
||
|
||
#### 删除记录
|
||
|
||
前端请求方式为`POST`,请求地址为`/api/dynamicapi/delete`,请求参数为:
|
||
|
||
```json
|
||
{
|
||
"tableName": "noentity",
|
||
"ids": ["1"]
|
||
}
|
||
```
|
||
|
||
#### 查询单条记录
|
||
|
||
前端请求方式为`POST`,请求地址为`/api/dynamicapi/get`,请求参数为:
|
||
|
||
```json
|
||
{
|
||
"tableName": "noentity",
|
||
"id": "1"
|
||
}
|
||
```
|
||
|
||
#### 查询列表
|
||
|
||
前端请求方式为`POST`,请求地址为`/api/dynamicapi/getlist`,请求参数为:
|
||
|
||
```json
|
||
{
|
||
"tableName": "noentity",
|
||
"pageIndex": 1,
|
||
"pageSize": 10
|
||
}
|
||
```
|
||
|
||
|
||
## 调用已有模块
|
||
|
||
除了数据库操作,系统内置一个接口`/api/dynamic/Invoke`,前端可以直接通过这个接口,调用OpenAuth.App层的方法。
|
||
```json
|
||
{
|
||
"serviceName": "UserManagerApp",
|
||
"methodName": "Load",
|
||
"parameters": "{\"request\":{\"page\":1,\"limit\":10,\"key\":\"\"}}"
|
||
}
|
||
```
|
||
|
||
|
||
|
||
|
||
|