Мы используем Grape для предоставления API; API вызывает исключения во многих местах случайным образом из-за недостаточных параметров, nils и т. д. Это приводит к тому, что Rails создает страницу с ошибкой HTML.
Есть ли способ контролировать это и обернуть все вызовы, чтобы вместо этого вернуть сообщение об ошибке?
Мы используем
API
gem 'grape', '0.9'
gem 'grape-swagger', '0.8.0'
gem 'grape-swagger-rails'
Например:
если в API возникает какая-либо ошибка, она не достигает
rescue ArgumentError => ex
error! ex.message
rescue Mongoid::Errors::Validations => ex
error! ex.message
метода API.
Нам нужен способ отловить точное сообщение об ошибке, минуя страницу ошибки HTML.
Уже пробовал это
https://code.dblock.org/2011/05/04/grape-trapping-all-exceptions-within-the-api.html
не уверен, куда вводить ApiErrorHandler.
Ожидаемые результаты должны быть "результат: сообщение об ошибке xyz"