pub struct VersionedRouter<S = ()>{
pub version_routers: HashMap<String, Router<S>>,
pub versioning_config: VersioningConfig,
pub global_router: Option<Router<S>>,
pub base_path: String,
}
Expand description
Versioned router that handles multiple API versions
Fields§
§version_routers: HashMap<String, Router<S>>
Version-specific routers
versioning_config: VersioningConfig
Versioning configuration
global_router: Option<Router<S>>
Global router for non-versioned routes
base_path: String
Base API path (e.g., “/api”)
Implementations§
Source§impl<S> VersionedRouter<S>
impl<S> VersionedRouter<S>
Sourcepub fn deprecate_version(
self,
version: &str,
message: Option<&str>,
sunset_date: Option<&str>,
) -> Self
pub fn deprecate_version( self, version: &str, message: Option<&str>, sunset_date: Option<&str>, ) -> Self
Mark a version as deprecated
Sourcepub fn default_version(self, version: &str) -> Self
pub fn default_version(self, version: &str) -> Self
Set default version
Sourcepub fn strategy(self, strategy: VersionStrategy) -> Self
pub fn strategy(self, strategy: VersionStrategy) -> Self
Set versioning strategy
Sourcepub fn version_builder<'a>(
&'a mut self,
version: &str,
) -> VersionedRouteBuilder<'a, S>
pub fn version_builder<'a>( &'a mut self, version: &str, ) -> VersionedRouteBuilder<'a, S>
Create a router builder for a specific version
Trait Implementations§
Source§impl<S> Debug for VersionedRouter<S>
impl<S> Debug for VersionedRouter<S>
Auto Trait Implementations§
impl<S> Freeze for VersionedRouter<S>
impl<S = ()> !RefUnwindSafe for VersionedRouter<S>
impl<S> Send for VersionedRouter<S>
impl<S> Sync for VersionedRouter<S>
impl<S> Unpin for VersionedRouter<S>
impl<S = ()> !UnwindSafe for VersionedRouter<S>
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