开源 database Rest API服务项目
在前后端分离的背景下, 对于一些小型项目, 其实后端可以做的非常轻, 只要它能提供一些基础的rest api, 逻辑完全可以在前端实现, 尤其是使用Type script或Blazor这样的前端语言/架构, 工程能力已经足够强大.
开源产品 | 开发语言 | 后台数据库 | 数据操作 | 安全 |
---|---|---|---|---|
PostgREST | Haskell | Postgresql | table-resource映射 | JWT |
pREST | Go | Postgresql | table-resource映射, 也支持SQL | JWT |
Elide | Java | Postgresql,MySQL,H2 | JPA方式 | Java Security ,以及更新粒度的 Permission Check |
选择
上面三个项目我更喜欢pREST, 最主要的原因是, 它支持custom SQL方式, 只有custom SQL才能适应复杂业务需求, 唯一的缺点仅支持PostgreSQL数据库.
打算写几个博文, 学习 pREST 项目, 这绝对是做项目的一个好工具.
pREST 资料
官网document内容偏简单, 很多信息没有介绍到, 社区中介绍 pREST 资料也不多
- github 主页: https://github.com/prest/prest
- 官网文档 https://docs.prestd.com
- github 主页上的文档 https://github.com/prest/prest/tree/main/docs
- 配置文件写法 https://github.com/prest/prest/blob/main/docs/deployment/server-configuration.md
- 一个简明教程 https://dev.to/eminetto/accessing-postgres-via-rest-using-prest-4fdk, https://eltonminetto.dev/en/post/2021-08-31-prest/
- prest/adapter-mysql 插件, 可以了解 rREST的对外接口 https://github.com/prest/adapter-mysql
- pREST学习笔记 https://zhuanlan.zhihu.com/p/419203293
DbREST 项目
DbREST 是新项目, vision 更大, api 设计得也更加好,
- 官网主页: https://docs.dbrest.io/
- github项目主页: https://github.com/dbrest-io/dbREST
- api router: https://github.com/dbrest-io/dbREST/blob/main/server/routes.go