Skip to main content

Wat is een response

Controllers en routes moeten een response teruggeven aan de browser van de gebruiker. Laravel biedt een eenvoudig mechanisme om responses in allerlei vormen terug te geven, zoals strings, arrays, views, redirects en JSON.

Basisresponses

Een string teruggeven

De eenvoudigste response is het teruggeven van een string. Laravel zet deze automatisch om in een passende HTTP-response.

Een array teruggeven

Als je een array teruggeeft, zet Laravel deze automatisch om naar JSON.
Als je een Eloquent-model of collectie rechtstreeks returnt, wordt deze automatisch omgezet naar JSON. Dit is een veelgebruikt patroon omdat je er heel eenvoudig een API mee bouwt.

Een Eloquent-model teruggeven

Het Response-object

Met de response()-helper kun je een gedetailleerde response teruggeven waarin je de HTTP-statuscode en headers opgeeft.
Het eerste argument van response() is de body van de response, het tweede argument de HTTP-statuscode.

Veelgebruikte HTTP-statuscodes

View-responses

Om vanuit een controller een Blade-template weer te geven gebruik je view(). Dit is de meest voorkomende response in webapplicaties.
Het eerste argument van view() is de naam van de view, het tweede argument een array met data die je aan de view doorgeeft.
Door Illuminate\View\View als return-typehint op te geven, maak je de bedoeling van je code duidelijker.

Meer controle met response()->view()

Wil je ook een statuscode of headers meegeven, gebruik dan response()->view().

Redirects

Basisredirect

De redirect()-helper geeft een redirect-response terug. Je gebruikt deze vaak om de gebruiker na het versturen van een formulier naar een andere pagina te leiden.
Een voorbeeld van gebruik in een controller:

Redirecten naar een named route

Met de route()-functie kun je het redirect-doel opgeven via de routenaam in plaats van de URL zelf. Zelfs als de URL verandert, hoef je niets aan te passen — het gebruik van named routes is dan ook een best practice.

Terug naar de vorige pagina

Met back() keert de gebruiker terug naar de pagina waar hij vandaan kwam. Dit wordt vaak gebruikt bij een redirect na een mislukte validatie.

Redirect met een flash-bericht

Met with() kun je bij een redirect een bericht in de sessie meegeven. Handig om na een geslaagde formulierinzending een melding te tonen.
Het bericht toon je in een Blade-template:

JSON-responses

Bij het bouwen van een API gebruik je response()->json() om een JSON-response terug te geven. De header Content-Type: application/json wordt automatisch ingesteld.
Je kunt ook een statuscode opgeven.
Een voorbeeld van gebruik in een controller:
Ook door simpelweg een array of Eloquent-model te returnen krijg je een JSON-response, maar met response()->json() heb je fijnmazige controle over statuscodes en headers.

Response-headers

Met de header()-methode voeg je HTTP-headers toe aan de response.
Wil je meerdere headers in één keer instellen, gebruik dan withHeaders().

Cookies

Om een cookie aan een response toe te voegen gebruik je cookie(). Wil je cookies verwijderen, dan kun je met withoutCookie() één cookie en met withoutCookies() meerdere cookies laten verlopen.

Praktijkvoorbeeld: het juiste responsetype in een controller

Een voorbeeld dat laat zien welk responsetype je in welke situatie gebruikt.
1

Routes definiëren

2

Controller implementeren

In webapps draait het vooral om het juiste gebruik van View en RedirectResponse. Het gangbare patroon is dat acties die iets tonen een View teruggeven, en acties die iets wijzigen (aanmaken, bijwerken, verwijderen) na afloop een RedirectResponse.

Volgende stap

Validatie

Bekijk hoe je invoerdata valideert voordat je een response teruggeeft.
Laatst gewijzigd op 6 september 2026