/ / Laravel Restful API Error 500 (Speichern und Zerstören) - Laravel, Laravel-5, Laravel-Routing, Laravel-Request

Laravel restful api error 500 (lagern und zerstören) - Laravel, Laravel-5, Laravel-Routing, Laravel-Anfrage

Ich bin neu in erholsamen api, und ich traf einProblem, Problem ist: Wenn ich die Zerstörung mit der Löschmethode und das Speichern mit der Postmethode anfordere, werden beide 500 Fehler zurückgeben. Hier ist meine Codes und Anfrage:

Löschen Sie http: //***.com/RestfulPrac/public/customers/10000001

Holen Sie sich http: //***.com/RestfulPrac/public/customers/10000001

post http: //***.com/RestfulPrac/public/customers


 class CustomersController extends Controller
{
public function index(){

$customersInfo = customers::all();
return $customersInfo;

}

public function show($cust_id){

$customer = customers::where("cust_id",$cust_id)->first();
return $customer;
}
public function store()
{

echo "store";
}

public function destroy()
{

return "success";
}
}

Route::resource("customers","CustomersController");

Der Apache-Zugriff.log: "DELETE / RestfulPrac / public / customers / 1000000001 HTTP / 1.0" 500 20246 - "Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 537.36 (KHTML, wie Gecko) Chrome / 50.0.2661.102 Safari / 537.36"

Das apache error.log: [Do 02. Juni 09: 09: 24.324782 2016] [Verhandlung: Fehler] [PID 4328: TID 1676] [Client 127.0.0.1:4940] AH00690: Keine akzeptable Variante: D: /XAMPP/apache/error/HTTP_NOT_FOUND.html. var

Der laravel.log: lokal.FEHLER: Ausnahme "IlluminateSessionTokenMismatchException" in F: PhpstormProjectsRestfulPracvendorlaravelframeworksrcIlluminateFoundationHttpMiddlewareVerifyCsrfToken.php: 67 Stack-Trace:

wenn jemand mir helfen kann, würde ich es schätzen! Danke im Voraus!

Antworten:

1 für die Antwort № 1

Basierend auf dem Laravel-Fehlerprotokoll haben Sie einen CSRFToken stimmt nicht überein. Wenn Sie eine API erstellen, möchten Sie wahrscheinlich nicht die Middleware "Web" verwenden. Diese Middlewaregruppe startet eine Sitzung und überprüft alle Anforderungen, die nicht die HTTP-Methoden READ (GET, HEAD, OPTIONS) verwenden, auf ein csrf-Token.

Standardmäßig fügt Laravel alle Ihre Routen ein routes.php in einer Routengruppe mit der angewendeten "Web" - Middleware (wenn auf Version> = 5.2.27), wenn sie in Ihre geladen wird RouteServiceProvider im appProviders.

Das wäre wahrscheinlich der Anfang, basierend auf dem Laravel-Fehlerprotokoll.

Dies kann hilfreich sein: VerifyCsrfToken wird beim Weiterleiten an API Middleware Laravel 5.2.35 immer aufgerufen


0 für die Antwort № 2

navigiere einfach zu appkernel.php

Kommentar csrf wie folgt

protected $middlewareGroups = [
"web" => [
AppHttpMiddlewareEncryptCookies::class,
IlluminateCookieMiddlewareAddQueuedCookiesToResponse::class,
IlluminateSessionMiddlewareStartSession::class,
IlluminateViewMiddlewareShareErrorsFromSession::class,
//  AppHttpMiddlewareVerifyCsrfToken::class,
],

"api" => [
"throttle:60,1",
],
];

Sie benötigen keinen CSRF-Schutz, wenn Sie eine API erstellen