#swagger #actix-web #openapi #codegen #cli

app cargo-swagg

从swagger文件生成actix-web框架的代码生成器

3个版本 (破坏性)

0.3.0 2020年5月13日
0.1.0 2020年3月30日
0.0.0 2020年1月20日

#74#swagger

每月41次下载

MIT 许可证

125KB
3K SLoC

actix swagger

使用说明

尚未适用于生产使用

# Add cargo command to simplify usage
cargo install cargo-swagg

# Add support library to your project (via cargo-edit or manual)
cargo add actix-swagger

# Generate your code with cargo subcommand
cargo swagg ./openapi.yaml --out-file ./src/api.rs

# Format file after
rustfmt ./src/api.rs

开发

它使用insta进行快照测试。

安装cargo-insta以获得更好的审查体验。

成员

  • cargo-actix — 支持库,内容为名为Answer的泛型响应,以及支持swagg的自定义MethodContentType
  • swagg — 将openapi3 (yaml|json)规范转换为rust代码的库
  • cargo-swagg — 与swagg相同,但用于命令行界面
  • demo — 检查生成的代码是否可编译

示例

# to convert ./demo/openapi.yaml to ./demo/src/lib.rs
# format ./demo/src/lib.rs
# and check just run
cargo install cargo-make
cargo make

依赖项

~5–15MB
~171K SLoC