Ich erstelle eine einfache API zum Hochladen von Dateien aus der mobilen App.API - Validierung Anfrage in Laravel
In meiner routes/api.php
Datei habe ich eine Route definiert:
Route::post("/file", '[email protected]');
dann in meinem Controller validieren ich die Anfrage:
public function upload(Request $request){
$this->validate($request, [
'name' => 'required',
'file' => 'file',
'type' => 'required|in:sign,photo',
]);
// do something here....
}
Wenn die Anforderung korrekt ist (es geht die Validierung) alles funktioniert Fein und Laravel gibt die JSON-Antwort zurück.
Aber wenn die Anfrage die Validierung nicht besteht, d. H. Das Feld name
fehlt, gibt Laravel 302 Seite zurück und versucht, mich zur Anmeldeseite umzuleiten.
Wie kann ich einen ordnungsgemäßen 40X/50X-Fehler mit JSON-Nachricht zurückgeben, wenn die Validierung fehlschlägt, statt 302 Redirect-Seite?
Ich benutze Laravel 5.3 und Insomnia zum Testen der API-Aufrufe.
Danke, X-Requested-With hat den Trick gemacht. Trotzdem ist es ein bisschen komisch, dass eine Anfrage von Insomnia nicht korrekt als AJAX-Anfrage erkannt wird. – Gacek