Ich machte den folgenden Controller, um das Problem der Behandlung von 500 Fehlern, die ich mit der API habe, zu demonstrieren. Ich will in der Lage zu erkennen, wenn ein 500-Fehler ausgelöst wird, so dass es nie an den Client (da es zu viele Details ist, um mit dem Client zu teilen und sie sollten nur von Laravel protokolliert werden).Laravel 5.5 - Nur log 500 Fehler, nie Fehlerdetails über API senden?
Verfahren getUser()
einen 500-Fehler absichtlich aufgrund der Tippfehler firsgt()
class TestController extends Controller {
public function getUser() {
$data = User::firsgt(); //returns 500 error
return $data;
}
}
kehrt Dies ist, was der Kunde sieht:
Wie können wir eine Fehlermeldung wie ‚Fehler aufgetreten‘ statt zurückkehren der zu vielen Details für den Client 'Aufruf zu undefinierter Methode App \ User :: firsgt()'?
Anmerkung: Ich will sie nicht eins nach dem anderen für jeden Controller-Methode zu handhaben, sondern alle 500 erfassen, bevor sie an den Client zurückgegeben wird, und gibt die benutzerdefinierte 500 allgemeine Meldung ‚Fehler aufgetreten‘
Dies funktioniert wirklich gut auf Standard-Laravel, aber ich habe das Problem mit Dingo API. Als richtig markiert, da es anderen und mir für die Laravel-Lösung hilft (was meiner Meinung nach mein spezifisches Problem lösen würde), funktioniert aber nicht, wenn es mit der Dingo-API verwendet wird. Wird eine Frage für die Dingo API-Version der gleichen Frage öffnen. – Wonka
Überprüfen Sie die update Dingo API. – Hamoud