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

swagg

Code generator from swagger file for actix-web framework

3 releases (breaking)

0.3.0 May 13, 2020
0.2.0 Mar 30, 2020
0.1.0 Mar 30, 2020

#69 in #swagger

28 downloads per month
Used in cargo-swagg

MIT license

120KB
3K SLoC

actix swagger

Usage

Not for production use yet

# 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

Development

It uses insta for snapshot testing.

Install cargo-insta to better review experience.

Members

  • cargo-actix — support library, contents typed response named Answer and custom Method and ContentType that supports in swagg
  • swagg — library that transforms openapi3 (yaml|json) spec to rust code
  • cargo-swagg — same as swagg but for cli
  • demo — checks that generated code is compiles

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

Dependencies

~4.5–6.5MB
~120K SLoC