Rust API 开发脚手架,支持 salvo
和 axum
框架,并同时支持创建「单应用」和「多应用」
Cargo install yiirs
- ORM使用 sea-orm
- Redis使用 redis-rs
- 日志使用 tracing
- 配置使用 config-rs
- 命令行使用 clap
- 异步运行时使用 tokio
- 参数验证器使用 validator
- 包含基础的登录授权功能
- 包含基于 Redis 的分布式锁
- 包含 AES、Hash、时间格式化 等实用封装
- 包含 Trace、认证、请求日志、Panic捕获 中间价
- 简单好用的 API Result 统一输出方式
yiirs new --name=demo # salvo
yiirs new --name=demo --axum # axum
.
├── Cargo.toml
├── Dockerfile
├── config.toml
└── src
├── app
│ ├── api
│ ├── cmd
│ ├── middleware
│ ├── router
│ ├── service
│ └── main.rs
└── internal
# http
yiirs new --name=demo --app=foo --app=bar # salvo
yiirs new --name=demo --app=foo --app=bar --axum # axum
.
├── Cargo.toml
├── foo.dockerfile
├── bar.dockerfile
├── foo_config.toml
├── bar_config.toml
└── src
├── app
│ ├── foo
│ │ ├── api
│ │ ├── cmd
│ │ ├── middleware
│ │ ├── router
│ │ ├── service
│ │ └── main.rs
│ ├── bar
│ │ ├── ...
│ │ └── main.rs
└── internal
# 多应用项目适用,需在项目根目录执行(即:Cargo.toml所在目录)
yiirs app --name=foo --name=bar # 创建salvo应用
yiirs app --name=foo --name=bar --axum # 创建axum应用
.
├── Cargo.toml
├── foo.dockerfile
├── bar.dockerfile
├── foo_config.toml
├── bar_config.toml
└── src
├── app
│ ├── foo
│ │ ├── ...
│ │ └── main.rs
│ ├── bar
│ │ ├── ...
│ │ └── main.rs
└── internal