pub struct RoutePath { /* private fields */ }Expand description
Representa una ruta como un path inicial más una lista opcional de parámetros.
Modela rutas del estilo /path/to/resource?foo=bar&debug o https://example.com/path?foo=bar,
pensadas para usarse en atributos HTML como href, action o src.
RoutePath no valida ni interpreta la estructura del path; simplemente concatena los
parámetros de consulta sobre el valor proporcionado.
§Ejemplos
// Ruta relativa con parámetros y una *flag* sin valor.
let route = RoutePath::new("/search")
.with_param("q", "rust")
.with_param("page", "2")
.with_flag("debug");
assert_eq!(route.to_string(), "/search?q=rust&page=2&debug");
// Ruta absoluta a un recurso externo.
let external = RoutePath::new("https://example.com/export").with_param("format", "csv");
assert_eq!(external.to_string(), "https://example.com/export?format=csv");Implementations§
Source§impl RoutePath
impl RoutePath
Sourcepub fn new(path: impl Into<CowStr>) -> Self
pub fn new(path: impl Into<CowStr>) -> Self
Crea un RoutePath a partir de un path inicial.
Por ejemplo: RoutePath::new("/about").
Sourcepub fn with_param(
self,
key: impl Into<String>,
value: impl Into<String>,
) -> Self
pub fn with_param( self, key: impl Into<String>, value: impl Into<String>, ) -> Self
Añade o sustituye un parámetro key=value. Si la clave ya existe, el valor se sobrescribe.
§También añade el método alter_param() generado por #[builder_fn]
Permite modificar la instancia (&mut self) con los mismos argumentos pero sin consumirla.
pub fn alter_param(&mut self, ...) -> &mut SelfSourcepub fn with_flag(self, flag: impl Into<String>) -> Self
pub fn with_flag(self, flag: impl Into<String>) -> Self
Añade o sustituye un flag sin valor, por ejemplo ?debug.
§También añade el método alter_flag() generado por #[builder_fn]
Permite modificar la instancia (&mut self) con los mismos argumentos pero sin consumirla.
pub fn alter_flag(&mut self, ...) -> &mut SelfSourcepub fn path(&self) -> &str
pub fn path(&self) -> &str
Devuelve el path inicial tal y como se pasó a RoutePath::new, sin parámetros.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for RoutePath
impl RefUnwindSafe for RoutePath
impl Send for RoutePath
impl Sync for RoutePath
impl Unpin for RoutePath
impl UnsafeUnpin for RoutePath
impl UnwindSafe for RoutePath
Blanket Implementations§
Source§impl<T> AnyCast for T
impl<T> AnyCast for T
Source§impl<T> AnyInfo for Twhere
T: Any,
impl<T> AnyInfo for Twhere
T: Any,
Source§fn short_name(&self) -> &'static str
fn short_name(&self) -> &'static str
Source§fn as_any_ref(&self) -> &(dyn Any + 'static)
fn as_any_ref(&self) -> &(dyn Any + 'static)
dyn Any para la conversión dinámica de tipos.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
dyn Any para la conversión dinámica de tipos.