Привет Я работаю над проектом rails прямо сейчас с помощью Grape В основном я хочу сделать собственную ошибку с виноградом с момента ее поддержки. мне удалось создать пользовательскую ошибку, что-то вроде этогоВизуальная ошибка с кодом состояния
module API
module ErrorFormatter
def self.call(message, backtrace, options, env)
{ :response_type => 'error', :details => message }.to_json
end
end
end
это работает хорошо, но что, если я хочу добавить более подробную информацию о нем, как код статуса, который мы виноградный отправки/мы вручную пройти по методе error!
так он будет иметь код состояния на json.
это может быть что-то вроде этого
{ :status_code: *status_code_here*, :response_type => 'error', :details => message }
Как установить значение для status_code_here
EDITED
Это в базе/корень для винограда
class Base < Grape::API
format :json
error_formatter :json, API::ErrorFormatter
mount API::V1::Base
end
Значит, теперь я использую пользовательскую ошибку вместо предопределенной ошибки винограда. Этот обычай ошибка будет вызываться двумя способами, как я знаю:
- винограда автоматически использовать это при отправке недостающий параметр на в API, который вы кладете параметр, как
requires
- Когда вы явно вызвать
error!()
как это https://github.com/intridea/grape#raising-exceptions
Любая помощь?
Thanks
Спасибо за ответ ... – kilua