Skip to main content

Was ist eine Response

Controller und Routen müssen dem Browser eine Antwort liefern. Laravel bietet einfache Wege, um Strings, Arrays, Views, Redirects, JSON und weitere Antwortformen zurückzugeben.

Einfache Antworten

String zurückgeben

Die einfachste Antwort ist ein String. Laravel wandelt ihn automatisch in eine HTTP-Antwort um.

Array zurückgeben

Ein zurückgegebenes Array wird von Laravel automatisch in JSON umgewandelt.
Auch Eloquent-Modelle oder -Collections werden direkt in JSON konvertiert. Ein häufig genutztes Muster für einfache APIs.

Eloquent-Modell zurückgeben

Das Response-Objekt

Mit dem Helper response() geben Sie detailliert HTTP-Status und Header vor.
Das erste Argument ist der Body, das zweite der HTTP-Status.

Häufig verwendete HTTP-Statuscodes

View-Antwort

Um aus einem Controller eine Blade-View auszuliefern, verwenden Sie view(). Das ist die häufigste Antwort in Webanwendungen.
Das erste Argument ist der View-Name, das zweite ein Array mit Daten.
Mit dem Return-Typ-Hint Illuminate\View\View machen Sie die Absicht Ihres Codes explizit.

Feineinstellung mit response()->view()

Möchten Sie auch Status und Header setzen, verwenden Sie response()->view().

Redirects

Einfacher Redirect

redirect() liefert eine Redirect-Response. Häufig verwendet nach Formularübermittlungen.
Beispiel im Controller:

Redirect zu einer benannten Route

Mit route() verweisen Sie über den Routennamen statt einer festen URL. Best Practice, da sich URLs so ändern können, ohne dass Code angepasst werden muss.

Zurück zur vorherigen Seite

Mit back() gelangt der Nutzer zur vorherigen Seite zurück. Typisch nach fehlgeschlagener Validierung.

Redirect mit Flash-Nachricht

Mit with() legen Sie eine Nachricht in die Session ab. Praktisch für Erfolgsmeldungen nach einer Formularsubmission.
Im Blade-Template zeigen Sie sie an:

JSON-Antworten

Für APIs verwenden Sie response()->json(). Der Header Content-Type: application/json wird automatisch gesetzt.
Auch mit Statuscode:
Im Controller:
Auch das einfache Rückgeben eines Arrays oder Eloquent-Modells liefert JSON. response()->json() gibt Ihnen jedoch feine Kontrolle über Status und Header.

Response-Header

Header ergänzen Sie mit header().
Mehrere Header gleichzeitig setzen Sie mit withHeaders().

Praxisbeispiel: Kombinationen im Controller

Ein Beispiel, das die typischen Response-Varianten in einem Controller kombiniert.
1

Routen definieren

2

Controller implementieren

In Web-Apps ist die klare Trennung zwischen View und RedirectResponse üblich. Anzeigen liefern View, verändernde Aktionen (Anlegen, Aktualisieren, Löschen) enden typischerweise mit einer RedirectResponse.

Nächste Schritte

Validierung

Erfahren Sie, wie Sie Eingaben validieren, bevor Sie eine Response ausliefern.
Zuletzt geändert am 13. Juli 2026