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.32k stars 2.16k forks source link

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

Open xihu69 opened 5 years ago

xihu69 commented 5 years ago

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

TommyLemon commented 5 years ago

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

xihu69 commented 5 years ago

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

TommyLemon commented 5 years ago

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

TommyLemon commented 2 years ago

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

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

TommyLemon commented 2 years ago

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