pub struct RouterBuilder<State, E>{ /* private fields */ }
Expand description
A builder for constructing routers with a fluent API.
This type provides a more ergonomic way to create and configure routers
compared to using Router
directly. It supports method chaining and
handles all the type complexity internally.
§Examples
use lambda_lw_http_router_core::{RouterBuilder, RouteContext};
use serde_json::{json, Value};
use lambda_runtime::Error;
use aws_lambda_events::apigw::ApiGatewayV2httpRequest;
#[derive(Clone)]
struct State {}
async fn get_users(ctx: RouteContext<State, ApiGatewayV2httpRequest>) -> Result<Value, Error> {
Ok(json!({ "users": [] }))
}
async fn create_user(ctx: RouteContext<State, ApiGatewayV2httpRequest>) -> Result<Value, Error> {
Ok(json!({ "status": "created" }))
}
let router = RouterBuilder::<State, ApiGatewayV2httpRequest>::new()
.route("GET", "/users", get_users)
.route("POST", "/users", create_user)
.build();
Implementations§
Source§impl<State, E> RouterBuilder<State, E>
impl<State, E> RouterBuilder<State, E>
pub fn new() -> RouterBuilder<State, E>
pub fn route<F, Fut>( self, method: &str, path: &str, handler: F, ) -> RouterBuilder<State, E>
pub fn build(self) -> Router<State, E>
pub fn from_registry() -> RouterBuilder<State, E>
Trait Implementations§
Source§impl<State, E> Default for RouterBuilder<State, E>
impl<State, E> Default for RouterBuilder<State, E>
Source§fn default() -> RouterBuilder<State, E>
fn default() -> RouterBuilder<State, E>
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl<State, E> Freeze for RouterBuilder<State, E>
impl<State, E> !RefUnwindSafe for RouterBuilder<State, E>
impl<State, E> Send for RouterBuilder<State, E>
impl<State, E> Sync for RouterBuilder<State, E>
impl<State, E> Unpin for RouterBuilder<State, E>
impl<State, E> !UnwindSafe for RouterBuilder<State, E>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more