Ich benutze Grape und Rails, um eine REST-API zu erstellen. Ich habe die grundlegende Architektur an Ort und Stelle und suche nach Orten, um Dinge zu "säubern". Einer dieser Orte ist die Fehlerbehandlung / -verarbeitung.
Ich erhalte derzeit Fehler in der Datei root.rb (GRAPE :: API-Basisklasse) für die gesamte API. Ich formatiere sie und sende den Fehler dann über rack_response zurück. Alles funktioniert, aber die root.rb-Datei wird ein wenig aufgebläht mit all den Fehlern, die gerettet werden, und einige von ihnen haben spezielle Parsing, die getan werden müssen. Ich habe mich gefragt, ob jemand eine gute Strategie für die Fehlerbehandlung entwickelt hat, damit er in sein eigenes Modul verschoben werden kann und die root.rb (GRAPE :: API-Basisklasse) ziemlich schlank bleibt.
Ich möchte wirklich ein Fehlerverarbeitungsmodul erstellen und Methoden für jeden Fehlertyp definieren, zum Beispiel ...
%Vor%Dann mach in der root.rb-Datei so etwas wie
%Vor%Hat jemand so etwas getan? Ich habe verschiedene Aromen der oben genannten Strategie versucht, aber ich kann nicht scheinen, etwas Arbeit zu bekommen.
Ich bin zu folgender Lösung / Strategie gekommen ...
Ich habe die gesamte Fehlerrettung wie folgt auf ein eigenes Modul verschoben:
%Vor%Dann füge ich einfach die Fehler in meine GRAPE :: API Basisklasse
ein %Vor%Nach vielen Versuchen und vielen anderen Versuchen, die nicht funktionieren, denke ich, dass dies eine gute Lösung ist und meine Basis-Klasse GRAPE :: API ziemlich schlank bleibt. Ich bin immer noch sehr offen gegenüber anderen Ansätzen, die Menschen haben könnten.
Tags und Links ruby ruby-on-rails rest grape grape-entity