1个不稳定版本
0.1.0 | 2021年1月23日 |
---|
#393 in 构建工具
34KB
778 行
actix-cli
使用Actix创建Web服务的命令行工具
- 最小化服务器,带有健康检查和就绪检查
- 启用容错选项可使用Bastion
- 可以通过
--request-logger
标志启用日志中间件选项 - 基本的CRUD控制器
-
Unwrap
到Crate Error - 数据库配置
- 可以通过
--auth
标志启用认证中间件选项 - 可以通过标志启用基本的Docker配置
- 从
Config.toml
读取路由配置 - 从
Config.toml
读取模型配置
如果没有定义数据库,将创建一个
Context
以支持基本的HashMap
。
安装
- 如果您计算机中没有Rust,可以运行
make setup
或访问https://rustup.rs/。 - 确保您的
/usr/local/bin
在PATH
中。 - 然后运行
make build
。
- 暂不支持Windows
用法
actix-cli 0.1.0
A CLI to create actix-web projects boilerplate
USAGE:
actix-cli [OPTIONS] --context <context> --name <name>
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-c, --config-file <config-file> Config.toml file path
--context <context> Which database configuration. Currently only `InMemory` allowed [possible
values: InMemory]
-f, --fault-tolerant <fault-tolerant> Enables Bastion for fault tolerant system [default: true]
-n, --name <name> Defines project name in Cargo.toml
-r, --request-logger <request-logger> Enables request logger as `[IP:%a DATETIME:%t REQUEST:\"%r\" STATUS: %s
DURATION:%D X-REQUEST-ID:%{x-request-id}o] and `"[x-request-id:
Uuid::new_v4()]` [default: true]
fault-tolerant
:bool
。request-logger
:bool
。name
:String
。config-file
:std::path::PathBuf
。context
:包含InMemory
的case insensitive枚举,未来还将包含PostgresDB
和DynamoDB
。
示例
通过执行命令 actix-cli -n maluco-cli -r true -f true --config-file actix-cli/Config.toml --context inmemory
,在以下 CRUD 部分定义的 Config.toml 中,结果可以在仓库中找到
Config.toml
以下是一些 Config.toml
的示例。
CRUD
[crud]
name = "object"
[crud.routes]
create = "object/new"
read = "object/get/{id}"
update = "object/update/{id}"
delete = "object/delete/{id}"
list = "object/get"
[crud.model]
name = "String"
age = "usize"
school = "String"
name
是必需的。routes
是必需的,所有路由都应该为字符串。- 如果
routes
不以name
开头,则会自动添加name
。 model
是必需的,所有类型都应该是有效的 Rust 类型字符串。
依赖项
~3.5MB
~62K SLoC