La estructura Application
Una vez que hayas construido una instancia de Application utilizando el patrón builder, puedes ejecutarla con el método run():
#[sword::main]
async fn main() {
let app = Application::builder()
.with_module::<SomeModule>()
.build();
app.run().await;
}El método run() inicia el servidor web y comienza a escuchar las solicitudes HTTP entrantes. Si has habilitado la opción graceful-shutdown en tu configuración, la aplicación manejará las señales de terminación de manera elegante, permitiendo que las solicitudes en curso se completen antes de apagarse.
Métodos y atributos de la estructura
Atributo config
Atributo público que permite acceder a la configuración de la aplicación cargada desde el fichero de configuración.
Método router()
Retorna una clon del router (axum::Router) interno de la aplicación. Esto es útil si necesitas acceder al enrutador para operaciones avanzadas o para inspeccionar la configuración de rutas.
INFO
Solo disponible si has habilitado los features web o socketio en tu proyecto.
Ejemplo
let app = Application::builder()
.with_module::<SomeModule>()
.build();
let router: axum::Router = app.router();Método run()
Inicia la aplicación sword y los controladores asociados a ella.
Si has habilitado la opción graceful-shutdown en tu configuración, la aplicación manejará las señales de terminación de manera elegante, permitiendo que las solicitudes en curso se completen antes de apagarse.
Ejemplo
#[sword::main]
async fn main() {
let app = Application::builder()
.with_module::<SomeModule>()
.build();
app.run().await;
}Apagado elegante
Sword gestiona el apagado elegante mediante la opción graceful-shutdown en la configuración de la aplicación.
[application]
graceful-shutdown = trueCuando esta opción está activada, app.run().await inicia el servidor con el manejo de señales integrado del framework.

