项目简介
这是一个基于 Spring Boot 和 json-script-rule 的低代码应用开发框架,具备多维度优势,支持丰富插件功能、自定义开发、权限管理、RPC 调用和数据脱敏等特性,助力开发者高效开发应用。
项目的主要特性和功能
- 多维度优势:跨应用,独立于项目应用框架;低代码,编程高效且代码可读性与扩展性强;免发布,调整 JSON 指令即可修改功能;跨项目,插件通用性强;轻量级,应用简洁;低耦合,插件与业务代码解耦;重设计,提升代码质量;功能全,内置多种功能且持续更新;跨语言,支持任何使用 JSON 的应用端调用。
- 丰富插件功能:提供 CRUD、导出、上传、导入、分流等插件,支持复杂 SQL 场景。
- 自定义开发:支持自定义动作、插件、结果、控制器、数据库函数和字段、断言器等。
- 权限管理:4.0 版本引入权限概念,涵盖多种权限类型。
- RPC 调用:4.0 版本开始支持,方便不同服务间调用。
- 数据脱敏:4.4 版本增加该功能,支持静态和动态脱敏配置。
安装使用步骤
安装
假设用户已下载本项目的源码文件,在项目中引入依赖,根据 JDK 和 Tomcat 版本选择对应版本:
xml
<dependency>
<artifactId>json-script-rule-spring-boot-starter</artifactId>
<version>5.0</version>
</dependency>
使用
- 配置实体类:使用
@JSRuleTable
和@JSRuleCrudField
注解配置实体类,示例如下:java @JSRuleTable(name = "zs_test") public class ZsTestPO { @JSRuleCrudField(pk = true) private String id; private String name; @JSRuleCrudField(name = " create_date ") private Date create_date; @JSRuleCrudField(name = "birth_day") private Date birthDay; @JSRuleCrudField(name = "salary", alias = "dian") private double salary; }
- 配置插件权限(4.0 版本起):重写插件权限方法,示例如下:
java public class JSRuleGetCustomModel extends JSRuleGet<MyActions> { @Override public boolean isOwner(Map<String, Object> params, Set<String> roles) { return true; } }
- 定义 Action 仓库:用于装载自定义插件,示例如下:
java @Data @Component public class MyActions extends JSRuleAction<MyActions> { public JSRuleGetCustomModel get; }
- 启动应用并测试:启动本地应用,使用 Postman 测试接口
http://localhost:port/context-path/json/script/start
,发送如下 JSON 请求:json { "actions": [ { "name": "test_get", "get": { "relation": { "classes": ["ZsTestPO"] }, "groupShow": true, "fields": ["name", "salary"], "condition": { "where": { "eq": {"name": ["field value"]} } } } } ] }
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】