Open
Description
版本5.2.0
1、业务表-插入不同表1:1、1:n、n:n
2、业务表-修改不同表1:1、1:n、n:n
3、业务表-批量删除不同表
实现流程:
1、继承APIJSONParser
2、重载 parseCorrectRequest方法
User__User 通过__分割, tag 和 structure的类名
新增, tag和 structure的类名一样, 更多示例请参见postman
该方法,是参数校验入口
特定tag,则走分支流程
修改引用关系
postman测试示例:
业务表-插入不同表1:1-源码实现
{
"User__User":{
"username":"test2",
"password": "123456",
"state": 1
},
"User_address__User_address":
{
"user_id@": "User/id",
"addr": "ddd",
"count": 1
},
"tag": "Batch_Tag_UserWithUser_addressList"
}
业务表-插入不同表1:n-源码实现
{
"User__User":{
"username":"test1",
"password": "123456",
"state": 1
},
"User_address[]__User_address[]": [
{
"user_id@": "User/id",
"addr": "ddd",
"count": 1
},
{
"user_id@": "User/id",
"addr": "ddd1",
"count": 2
}
],
"tag": "Batch_Tag_UserWithUser_addressList"
}
业务表-插入不同表n:n-源码实现
{
"User[]__User[]":[
{
"username":"test3",
"password": "123456",
"state": 1
},
{
"username":"test4",
"password": "123456",
"state": 1
}
],
"User_address[]__User_address[]": [
{
"user_id": "94593122-403a-4eb2-a6f0-182ed3da7764",
"addr": "ddd",
"count": 1
},
{
"user_id": "94593122-403a-4eb2-a6f0-182ed3da7764",
"addr": "ddd1",
"count": 2
}
],
"tag": "Batch_Tag_UserWithUser_addressList"
}
业务表-批量修改不同表1:n-源码实现
{
"User__User":{
"id": "94593122-403a-4eb2-a6f0-182ed3da7764",
"username":"test1-1",
"password": "111111",
"state": 1
},
"User_address[]__User_address[]": [
{
"id": "e8bb9e79-9bbe-49d2-9542-77792368bece",
"user_id@": "User/id",
"addr": "addr-01",
"count": 1
},
{
"id": "4dfee57f-6953-4371-865f-22b6e1957fee",
"user_id@": "User/id",
"addr": "addr-11",
"count": 1
}
],
"tag": "Batch_Tag_UserWithUser_addressList"
}
业务表-批量修改不同表n:n-源码实现
{
"User[]__User[]":[
{
"id": "f60e829a-1181-4331-ac1e-f5faf64e3a8c",
"username":"test-3",
"password": "123456-1",
"state": 1
},
{
"id": "ca86a2e0-d504-4772-b06a-1a8c9e2b12c9",
"username":"test-4",
"password": "123456-1",
"state": 1
}
],
"User_address[]__User_address[]": [
{
"id": "faf8a605-66a3-4ce1-b774-c499b86a4984",
"user_id": "94593122-403a-4eb2-a6f0-182ed3da7764",
"addr": "ddd-1",
"count": 1
},
{
"id": "ac88ce16-6cdf-41a3-b382-c78452c5a850",
"user_id": "94593122-403a-4eb2-a6f0-182ed3da7764",
"addr": "ddd-2",
"count": 2
}
],
"tag": "Batch_Tag_UserWithUser_addressList"
}
业务表-批量删除不同表-源码实现
{
"User[]__User":{
"id{}": ["8e44c04a-6e90-4dfe-b021-3436453c55dd", "94593122-403a-4eb2-a6f0-182ed3da7764","ca86a2e0-d504-4772-b06a-1a8c9e2b12c9"]
},
"User_address[]__User_address": {
"id{}": ["1ed2dda1-5800-4b69-b128-7771dd79046f", "e8bb9e79-9bbe-49d2-9542-77792368bece","4dfee57f-6953-4371-865f-22b6e1957fee","faf8a605-66a3-4ce1-b774-c499b86a4984"]
},
"tag": "Batch_Tag_UserWithUser_addressList"
}
后续我再研究一下
1、支持不同的操作类型,比如 GET、POST、DELETE, 在一个json里面, 才能保证事物
2、function函数 执行语句, 加入事物
框架能支持数组, 把数组拆解为一条一条语句执行, 只要把相关引用 传递进 function应该能搞定,空了研究一下,哈哈