Sword
Structured web framework for rust built on top tokio ecosystem.
Designed to build server application with less boilerplate and more simplicity.
It takes advantage of the tokio ecosystem to bring you performance with nice DX.
Sword is in active development, expect breaking changes.
Features
- Web Adapters - Support for REST (Axum) and SocketIO (Socketioxide) adapters
- Macro-based routing - Clean and intuitive route definitions
- JSON-first design - Built with JSON formats as priority
- Built-in validation - Support
validatorcrate and extensible validation system - HTTP responses standarization - Consistent response formats out of the box
- Dependency Injection - Built-in DI support with declarative macros
- Middleware and Interceptors - Easy to use middleware and interceptor system
- TOML Config loader - Built-in support for loading configuration from TOML files
Coming Soon
- GraphQL Adapter - Support for GraphQL APIs
- gRPC Adapter - Support for gRPC services with Tonic
- RabbitMQ Integration - Built-in support for RabbitMQ messaging
Web Adapters Examples
use *;
Full Examples
Changelog
See CHANGELOG.md for more details.
Contributing
Contributions are welcome! Please open an issue or submit a pull request. See CONTRIBUTING.md for more details.