Mam aplikację Rails, która zawiera interfejs API JSON. Gdy wartości są poprawnie określone, kontroler radzi sobie ze szczęśliwą ścieżką, a JSON jest renderowany jako wyjście.Jak radzić sobie z błędami lub złymi żądaniami w moim Railsowym interfejsie REST?
Jednak, jeśli wystąpił problem z danymi wejściowymi, zgłaszany jest wyjątek, a zamiast niego są wyświetlane niektóre szablony w wersji rescues
. Naprawdę po prostu chciałbym zwrócić błąd JSON zgodny z { "error": { "msg": "bad request", "params": ... } }
i odpowiedni kod statusu HTTP (na przykład 403, jeśli nie zostały uwierzytelnione). Ale chcę tylko, żeby to było odpowiednie dla żądań przeciwko wszystkim w example.com/api/...
.
Jak mogę to zrobić?
Ja też się z tobą zgadzam, ponieważ jest to najlepszy sposób renderowania błędów niestandardowych również dla różnych akcji. –
Tylko uwaga, ale zamiast tego możesz zamiast tego zrobić 'render: json => {...}' : js => {...} ' –