APIJSON icon indicating copy to clipboard operation
APIJSON copied to clipboard

可以隔离数据库吗?直接暴露前端数据库不是很合适

Open xihu69 opened this issue 5 years ago • 5 comments

具体说下 希望完善对象映射,暴露给前端是对象查询,而不是数据库查询; 类似odata这种; 为什么 1.数据库字段暴露本身比较危险, 2.其次数据库命名并不符合数据获取,虽然可以as,但不能指望前端去做数据库方面东西 3.很多时候前端是不能接触后端数据表的 4.有些字段是需要权限控制的

xihu69 avatar Jul 28 '19 09:07 xihu69

目前提供了 表映射 功能,考虑提供 字段映射。 目前可以重写 SQLConfig.getColumnString 和 SQLExecutor.onPutColumn,把前端传的 字段映射为数据库表的真实字段。

TommyLemon avatar Aug 02 '19 07:08 TommyLemon

@TommyLemon 感谢回复, SQLConfig.getColumnString 可以替换查询列名称,但想分组、排序类的都要重新对应方法把? 有类似getDbColumnName(field) 的方法就好了

xihu69 avatar Aug 02 '19 09:08 xihu69

@xihu69 对的,感谢建议,确实可以封装一个

TommyLemon avatar Aug 02 '19 11:08 TommyLemon

已新增 apijson-framework,支持 Access 表配置表名映射及角色权限 https://github.com/APIJSON/apijson-framework

已新增 APIJSON 字段插件,支持字段映射 https://github.com/APIJSON/apijson-column

TommyLemon avatar Jan 07 '22 16:01 TommyLemon

@xihu69 还可以看看 apijson-router: 腾讯 APIJSON 的路由插件,对外暴露类 RESTful 接口,内部转成 APIJSON 接口执行。 https://github.com/APIJSON/apijson-router

TommyLemon avatar Apr 22 '22 18:04 TommyLemon