Anwendungskonfigurationen haben tiefe Verschachtelung: App-Einstellungen, Datenbankanmeldedaten, Funktions-Flags. Dieses Beispiel generiert Rust Structs aus einer mehrstufigen Konfigurationsstruktur, damit Sie Konfigurationsdateien direkt in Ihrer Rust-Anwendung deserialisieren können.
Was Sie Bekommen
Das Werkzeug erzeugt:
- Ein Root-Struct
Rootmit drei übergeordneten Abschnitten:App,Database,Features - Ein
RootApp-Struct mitName,Version,Debug-Feldern - Ein
RootDatabase-Struct mitHost,Portund dem verschachteltenCredentials-Struct - Ein
RootDatabaseCredentials-Struct für die Datenbankauthentifizierung - Ein
RootFeatures-Struct mitDarkMode,MaxConnectionsund demAllowedOrigins-Vec - Korrekte Rust-Typzuordnungen:
String,i64,bool,Vec<String>
So Verwenden Sie Es
- Das Beispiel lädt mit einer Beispiel-Anwendungskonfiguration im Rust-Modus
- Die verschachtelte Struktur zeigt, wie jeder Konfigurationsabschnitt sein eigenes Struct erhält
- Kopieren Sie die Structs und fügen Sie sie in Ihr Rust-Projekt ein
- Ersetzen Sie mit Ihrer tatsächlichen Konfiguration JSON, um Structs für Ihr Projekt zu generieren
Muster aus der Praxis
Rust-Konfigurationsbibliotheken wie config und figment funktionieren gut mit typisierten Structs. Generieren Sie Structs aus Ihrer Standardkonfiguration und verwenden Sie dann serde_json::from_str oder den Dekodierer Ihrer Konfigurationsbibliothek, um sie aus JSON-Dateien, Umgebungsvariablen oder Kommandozeilen-Flags zu befüllen.