# apijson-ruoyi **Repository Path**: laochen/apijson-ruoyi ## Basic Information - **Project Name**: apijson-ruoyi - **Description**: https://github.com/Tencent/APIJSON/issues/601 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 4 - **Created**: 2023-09-10 - **Last Updated**: 2023-09-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### Description # **功能点** - apijson和若依框架整合 - 导入数据库表,生成apijson配置 - 页面模板,无需任何后台开发,即可使用 - 编辑表配置,生成apijson配置(在线初始化,增量和全量) - 执行sql生成菜单 - 将模板生成前端页面拷贝进项目 - 管理员测试新增功能 增删改查 - 鉴权 给普通用户分配查询权限 测试是否存在越权 给普通用户分配新增、修改、删除权限,测试功能是否正常 - 必传参数、字段类型、字段校验、前置后置函数等 - json、sql、function 生成url - apijson底层 接口、数据库表操作鉴权 已经将apijson和若依鉴权认证完全打通, 通过菜单配置权限即可。 - 数据操作人 场景:比如订单, 用户只能查询自己拥有的订单, 管理员在后管可以查询所有的订单 - 假删除 自动将删除语句替换为修改字段状态 # **功能使用说明** ## **使用数据库表模板,生成apijson配置** ### **代码生成** image ### **选择您要导入的数据库表** image ### **编辑表配置** image image 选择 页面存放菜单位置 image ### **生成apijson配置** image ### **执行sql语句,生成菜单** image ### **拷贝前端页面** image image ### **管理员增删改查测试** image ## **鉴权** ### **给普通用户分配查询权限** 测试普通用户是否能够插入数据 image image 退出登录,切换普通用户 image 普通用户只有查询权限 image 测试是否存在越权 postman 使用普通用户的token,模拟请求, 测试是否可以插入数据 http://localhost:8080/forms/api/gen/Post1692343037000 ```json { "postId": null, "postCode": "23", "postName": "23", "postSort": "23", "status": "0", "createBy": null, "createTime": null, "updateBy": null, "updateTime": null, "remark": "32" } ``` image apijson已经将鉴权和若依框架整合。 给普通用户分配新增、修改、删除权限 image image ## **必传参数、字段类型、字段校验、前置后置函数等** 具体使用请参照apijson官网, 非常简单,配置即可。 可以在线配置,初始化生效,无需重启服务 image 必传参数 image 前置后置函数(自定义校验方式) image 校验(可自己扩展) image ## **json 生成url** 比如统计报表,多表关联查询等场景。 image 数据库表模板生成json, 后台也是同样的实现方式。 用postman进行功能测试, 也可以用官网的autoapi image ## **sql 生成url** 用于复杂统计,不愿意用apijson实现。 image 可以使用postman进行测试 后续如果有需要, json格式扩展实现@combine条件 ## **Function 生成url** function实现业务逻辑方法, 在线生成接口 新增远程函数 image 在线生成接口 image image 调用 image image 代码添加鉴权 image 如果想使用权限注解, 等我后面有空把若依注解扫描改造一下,目前若依 注解 只支持controller 方法。 添加按钮菜单权限 image 给需要的角色分配按钮权限 image Function 参数校验等 参照json生成url。 将function函数生成独立url。 接口、数据库表操作鉴权 已经将apijson和若依鉴权认证完全打通, 通过菜单配置权限即可。 apijson鉴权配置参见: image ## **数据操作人** 配置 image 场景 比如订单, 用户只能查询自己拥有的订单, 管理员在后管可以查询所有的订单 ``` { "id@-()": "getCurrentUserIdOrAdmin(id@-(),Ordermaster:rows[].Ordermaster.customerNo@)", "Ordermaster:rows[]": { "query": 2, "page": 0, "count": 10, "Ordermaster": { "customerNo@": "id", "@column": "orderNo:orderNo,customerNo:customerNo,salerNo:salerNo,orderDate:orderDate,orderSum:orderSum,invoiceNo:invoiceNo,", "@combine": "customerNo:1=1 & salerNo:1=1 & orderDate:1=1 & invoiceNo:1=1" } }, "total@": "/Ordermaster:rows[]/total", "format": true, "@explain": true } ``` 经测试,完全能实现, 普通用户查询自己的数据,管理员查询所有数据 image ## **假删除** Access配置假删除的 deletedKey,deletedValue,notDeletedValue 框架会自动将delete语句转换为update,修改假删除字段的值。 image