Tencent / APIJSON

🏆 实时 零代码、全功能、强安全 ORM 库 🚀 后端接口和文档零代码,前端(客户端) 定制返回 JSON 的数据和结构 🏆 Real-Time coding-free, powerful and secure ORM 🚀 providing APIs and Docs without coding by Backend, and the returned JSON of API can be customized by Frontend(Client) users
http://apijson.cn
Other
17.15k stars 2.15k forks source link

APIJSON FUNCTION 支持事物 #538

Open cloudAndMonkey opened 1 year ago

cloudAndMonkey commented 1 year ago

Description

@TommyLemon Function 创建json crud , 添加到 request json 事物中执行. 如果报错,事物回滚 以前跟你说我想做这个, 看到最近有人问事物,抽了点时间弄了一下, 已经测通了, 哈哈😄

FunctionParser 添加 Parser 方法

image

AbstractFunctionParser

image

APIJSONParser setObjectParser

image

使用

image

事物失败,将会回滚 功能还未完全测试完, 子查询@sql curd , router 方式

这种方式问题点

没有将结果加入最终返回json

结果没有应用缓存

后续优化点

除了方法级 开启事物, 支持 public 请求 调用远程函数, 代码控制 post、put、delete 独享一个连接 开启事物, 和get分开. 也是对crud 全能接口 事物控制的优化

TommyLemon commented 1 year ago

赞,如果发生异常导致事务回滚,那么不应该返回中间过程执行的结果,避免越权操作等问题导致泄漏敏感信息。

cloudAndMonkey commented 1 year ago

赞,如果发生异常导致事务回滚,那么不应该返回中间过程执行的结果,避免越权操作等问题导致泄漏敏感信息。

嗯嗯,不会

cloudAndMonkey commented 1 year ago

@TommyLemon

image

能走校验流程了,哈哈

下一步,还没详细理 1、router 串联起来 2、@sql update、delele ,多表json支持 能支持增删改查 已经能满足大多数场景了 3、查询 可以独立发起请求,也可以沿用上面的步骤

后面封装一下,写成通用方法

远程函数能解决事物,APIJSON可以解放业务开发人员, 让业务人员更关注业务逻辑开发,外层再通过 flowable、liteflow逻辑流程编排组装起来:

image
cloudAndMonkey commented 1 year ago

@TommyLemon 等我空了, 我把 Ruoyi 前后端分离vue版, 改成 apijson实现,😄 https://github.com/yangzongzhuan/RuoYi

TommyLemon commented 1 year ago

@TommyLemon 等我空了, 我把 Ruoyi 前后端分离vue版, 改成 apijson实现,😄 https://github.com/yangzongzhuan/RuoYi

期待~