Warum die Laravel-API bei POST- und PUT-Methoden den Statuscode 419 zurückgibt
In Laravel gibt es bei POST- oder PUT-Anfragen häufig einen HTTP-Statuscode 419 weist auf eine Nichtübereinstimmung des CSRF-Tokens hin. Dieses Token, das zur Verhinderung von Cross-Site-Request-Forgeries (CSRF) verwendet wird, kann RESTful-API-Vorgänge beeinträchtigen.
Lösung für Laravel 5.4 oder höher
In Laravel 5.4 und höher kann ein dedizierter API-Controller mit php artisan make:controller ApiController erstellt werden. Dieser Controller wird im Verzeichnis app/Http/Controllers/API abgelegt und schließt standardmäßig die CSRF-Token-Überprüfung aus.
Lösung für Laravel 5.3 und früher
Zwei Ansätze kann für frühere Versionen von Laravel verwendet werden:
Ausgeschlossene Routen definieren:
Fügen Sie den folgenden Code zu Ihrer App/Http/Middleware/VerifyCsrfToken hinzu .php-Middleware:
<code class="php">protected $except = [ 'api/*', ];</code>
Api.php verwenden:
Wenn Sie Laravel 5.5 verwenden, erstellen Sie eine neue Routes/api.php-Datei und definieren Sie Routen, die keine CSRF-Token-Überprüfung erfordern. Erstellen Sie für ältere Versionen eine separate Datei „app/Http/routes.php“ und fügen Sie Routen in diese Datei anstelle von „routes/web.php“ ein.
Das obige ist der detaillierte Inhalt vonWie löse ich den Laravel API 419-Statuscode für POST- und PUT-Anfragen auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!