9 releases (breaking)
0.7.1 | Feb 2, 2024 |
---|---|
0.7.0 | Feb 2, 2024 |
0.6.0 | Dec 27, 2023 |
0.5.1 | Dec 21, 2023 |
0.1.0 | Oct 10, 2023 |
#1093 in Procedural macros
61 downloads per month
Used in rupring
35KB
770 lines
rupring
spring on rust
Get Started
There is only one dependency.
cargo add rupring
And you can write your server like this:
#[derive(Debug, Clone, Copy)]
#[rupring::Module(controllers=[HomeController{}], modules=[])]
pub struct RootModule {}
#[derive(Debug, Clone)]
#[rupring::Controller(prefix=/, routes=[hello, echo])]
pub struct HomeController {}
#[rupring::Get(path = /)]
pub fn hello(_request: rupring::Request) -> rupring::Response {
rupring::Response::new().text("Hello, World!".to_string())
}
#[rupring::Get(path = /echo)]
pub fn echo(request: rupring::Request) -> rupring::Response {
rupring::Response::new().text(request.body)
}
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
let app = rupring::RupringFactory::create(RootModule {});
app.listen(3000).await?;
Ok(())
}
And if you run the program, it will work fine.
More Details
Please refer to the documentation for more details.