Обработка ошибок с помощью Grape, Rails и ActiveRecord

Я создал свой первый сервис API, используя Grape GEM и Rails. API работает отлично, но я борюсь с обработкой ошибок, и поиск ценных руководств не дал результатов.

В учебнике, которому я следовал, единственное освещение обработки ошибок, которому они следовали, было следующим:

rescue_from ActiveRecord::RecordNotFound do |e|
    error!(message: e.message, status: 404)
end

rescue_from ActiveRecord::RecordInvalid do |e|
    error!(message: e.message, status: 422)
end

Два вопроса привели меня к выводу, что этого недостаточно:

  1. Мне выдается ошибка, указывающая на следующее: «по сравнению с не классом/модулем» для ActiveRecord::RecordInvalid
  2. Когда я отправляю запрос API, который соответствует правилам API, но не проходит проверку модели, запрос просто зависает..т.е. Ничего не произошло. Я вижу ответ в журнале моего локального сервера (т. Е. Электронная почта уже существует), но в Postman & и swagger он просто продолжает загружаться без ответа.

Может ли кто-нибудь указать мне учебник, полностью посвященный обработке исключений Grape? Я так запутался в отношении обработки проверки модели через вызовы API и т. Д., И мог бы получить некоторые рекомендации.


person HermannHH    schedule 27.08.2015    source источник


Ответы (1)


Вы можете проверить эти ссылки:

http://code.dblock.org/2011/05/04/grape-trapping-all-exceptions-within-the-api.html

Grape: перехват всех исключений в API

person Md Sirajus Salayhin    schedule 27.08.2015