Construyendo una aplicación
Sword usa un patrón constructor para construir aplicaciones web. Este patrón se implementa en la estructura ApplicationBuilder, que permite configurar varios aspectos de tu aplicación de manera fluida antes de construir finalmente la instancia de Application.
Construcción de la Aplicación
El flujo de construcción es sencillo: llamas a Application::builder() para obtener un ApplicationBuilder, configuras los componentes de tu aplicación encadenando métodos, y finalmente llamas a .build() para obtener la instancia final de Application:
let app = Application::builder()
.with_module::<SomeModule>()
.build();¿Cómo funciona el patrón constructor?
Application::builder(): Crea un nuevo ApplicationBuilder que inicializa:
- El runtime interno de la aplicación
- El estado compartido de la aplicación
- Carga de la configuración desde el fichero
.toml
Métodos y atributos de la estructura
La estructura tiene campos y métodos clave que te permiten personalizar tu aplicación:
Atributo config
Atributo público que permite acceder a la configuración de la aplicación cargada desde el fichero de configuración. Para más detalles sobre la configuración, revisa la sección de Configuración
Método with_module::<M>()
Método que registra un módulo que implementa el trait Module. Los módulos definen puntos de entrada para agrupar controladores, componentes y proveedores relacionados.
Parámetros
M: Un tipo que implementa el traitModule.
Aprende más sobre los módulos en la sección Módulos.
Método with_layer::<L>(layer: L)
Registra un Layer de Tower de forma global en la aplicación.
Parámetros
layer: Una instancia que implementa el traitLayer.
Ejemplo
use tower_http::cors::*;
let cors_layer = CorsLayer::new()
.allow_origin(Any)
.allow_methods(vec!["GET", "POST"]);
let app = Application::builder()
.with_layer(cors_layer)
.build();Para más detalles sobre Tower, revisa la sección de Interceptores en Controladores Web.
Método from_config_path<P: AsRef<Path>>(path: P)
Permite cargar la configuración de la aplicación desde un fichero .toml ubicado en una ruta personalizada.
Método from_config(config: Config)
Permite cargar la configuración de la aplicación a partir de una instancia de Config creada manualmente.
Método build()
Finaliza la construcción del ApplicationBuilder y devuelve una instancia de Application lista para ejecutarse.

