#crud #traits #sqlx #boilerplate #basic #json-api #controller

crustd

一套用于简化使用sqlx和axum进行CRUD模板化处理的特性和实用工具

1 个不稳定版本

0.0.1 2024年5月27日

#43#crud

GPL-3.0-or-later

8KB
115

crustd

一个用于简化JSON API中基本CRUD操作设置的库。

该项目正在积极开发中,预期会有重大更改。欢迎贡献者加入!

基本目标是在toml文件中定义数据模型和关系(以及可能的控制器和服务属性),然后从模板创建数据库表,并包含迁移、路由器和控制器,以实现每个定义的结构的核心CRUD操作。

目前开始是一个包含三个特质的集合 - CrudService、CrudController和CrudRouter。您需要实现CrudService方法来定义您的数据库查询,然后路由器和控制器可以是简单的空impl块。

这些特质目前与sqlx + postgres实现绑定。它们是我从另一个项目中提取出来的副产物,开始编写这个库。

下一步

  • 文档化这些特质
  • 泛化数据库驱动以支持其他sqlx驱动
  • 自动生成测试套件
  • 添加ORM数据库适配器(Diesel?其他?)
  • 需要TOML解析器/模板和CLI以快速迭代绿色字段?
  • 添加令牌验证中间件选项?

依赖项

~18–34MB
~498K SLoC