Rocket für Rust: Komplettguide mit Beispielen

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Rocket für Rust: Komplettguide mit Beispielen

Was ist Rocket und warum braucht man es?

Rocket ist ein modernes Webframework für die Programmiersprache Rust, das Entwicklerfreundlichkeit, Sicherheit und Performance in den Vordergrund stellt. Im Gegensatz zu vielen anderen Webframeworks nutzt Rocket das mächtige Typsystem von Rust, um die Korrektheit des Codes bereits zur Kompilierzeit zu prüfen. Dadurch wird eine ganze Klasse von Laufzeitfehlern vermieden. Rocket bietet eine deklarative API für das Routing, integrierte Unterstützung für Serialisierung/Deserialisierung via Serde, automatische Validierung von Formulardaten und URLs sowie ein Middleware-System auf Basis von Traits.

Warum Rocket? Wenn du in Rust entwickelst und eine Webanwendung (API, Website, Microservice) mit minimalem Boilerplate-Code und maximaler Sicherheit erstellen möchtest, ist Rocket die ideale Wahl. Es eignet sich besonders für Projekte, bei denen Zuverlässigkeit entscheidend ist: Finanzdienstleistungen, Datenverwaltungssysteme oder Backends für mobile Apps. Dank der asynchronen Architektur auf Basis von Tokio bewältigt Rocket problemlos tausende gleichzeitige Verbindungen.

Die Hauptvorteile von Rocket: typsichere Routen (der Compiler prüft, dass du keinen String übergibst, wo eine Zahl erwartet wird), automatische Dokumentationsgenerierung via Rocket.toml, integrierte WebSocket-Unterstützung, einfache Datenbankanbindung über Diesel oder SQLx und Nullkosten-Abstraktionen – alle Prüfungen finden zur Kompilierzeit statt, ohne die Laufzeit zu verlangsamen.

Installation

Für die Arbeit mit Rocket benötigst du eine installierte Rust-Umgebung (empfohlen wird Version 1.75+). Die Installation des Frameworks erfolgt über den Paketmanager Cargo. Füge die Abhängigkeit in deine Cargo.toml-Datei ein:

[package]
name = "my_rocket_app"
version = "0.1.0"
edition = "2021"

[dependencies]
rocket = "0.5.1"

Führe anschließend folgenden Befehl aus, um die Abhängigkeiten herunterzuladen:

cargo build

Für die Arbeit mit JSON musst du Serde hinzufügen:

rocket = { version = "0.5.1", features = ["json"] }
serde = { version = "1.0", features = ["derive"] }

Die Installation ist abgeschlossen. Jetzt kannst du mit Rocket Webanwendungen in Rust erstellen.

Schnellstart – Minimales funktionierendes Beispiel

Erstelle eine Datei src/main.rs mit folgendem Inhalt:

#[macro_use] extern crate rocket;

#[get("/")]
fn index() -> &'static str {
    "Hallo, Rocket-Welt!"
}

#[launch]
fn rocket() -> _ {
    rocket::build().mount("/", routes![index])
}

Starte die Anwendung mit dem Befehl cargo run. Nach der Kompilierung öffne deinen Browser und rufe http://localhost:8000 auf. Du siehst die Nachricht "Hallo, Rocket-Welt!". Glückwunsch, deine erste Rocket-Anwendung läuft!

So funktioniert der Code: #[get("/")] ist ein Attribut, das angibt, dass die Funktion GET-Anfragen an den Root-Pfad verarbeitet. #[launch] ist ein Makro, das den Einstiegspunkt erzeugt. rocket::build() erstellt eine Instanz der Anwendung und .mount() bindet die Routen an den Basis-Pfad.

Wichtige Methoden/Funktionen/Klassen

1. #[get(path)] – GET-Anfragen verarbeiten

Signatur: #[get("/pfad")] fn handler() -> T

Funktion: Dieses Attribut registriert eine Funktion als Handler für HTTP-GET-Anfragen unter dem angegebenen Pfad. Der Rückgabewert wird automatisch in eine HTTP-Antwort serialisiert.

#[get("/                    

Empfehlungen