Las configuraciones de aplicación tienen anidación profunda: ajustes de la aplicación, credenciales de base de datos, flags de características. Este ejemplo genera structs de Rust a partir de una estructura de configuración de múltiples niveles para que puedas deserializar archivos de configuración directamente en tu aplicación Rust.
Qué Obtienes
La herramienta produce:
- Un struct raíz
Rootcon tres secciones superiores:App,Database,Features - Un struct
RootAppcon camposName,Version,Debug - Un struct
RootDatabaseconHost,Porty el struct anidadoCredentials - Un struct
RootDatabaseCredentialspara autenticación de base de datos - Un struct
RootFeaturesconDarkMode,MaxConnectionsy el vecAllowedOrigins - Mapeos de tipos Rust correctos:
String,i64,bool,Vec<String>
Cómo Usar
- El ejemplo carga con una configuración de aplicación de ejemplo en modo Rust
- La estructura anidada muestra cómo cada sección de configuración obtiene su propio struct
- Copia los structs y pégalos en tu proyecto Rust
- Reemplaza con tu JSON de configuración real para generar structs para tu proyecto
Patrón del Mundo Real
Las bibliotecas de configuración de Rust como config y figment funcionan bien con structs tipados. Genera structs desde tu configuración predeterminada, luego usa serde_json::from_str o el decodificador de tu biblioteca de configuración para poblarlos desde archivos JSON, variables de entorno o flags de línea de comandos.