Je crée mon premier service Web en utilisant Grape et je suis confus par une chose. Comment répondre aux erreurs de validation d'ActiveRecord lorsqu'une requête POST ne réussit pas la validation AR?ActiveRecord Validation des erreurs dans l'API Grape
Dans mon modèle Foo j'ai ceci:
validates :bar, {
presence: true,
uniqueness: true
}
Mon Foo Créer API dans Grape ressemble à ceci:
desc "Create a new Foo"
params do
requires :bar, type: String, allow_blank: false
end
post do
::Foo.create!({
bar: params[:bar]
})
end
À titre d'exemple, lorsque je crée un Foo avec double barre, je Je suis présenté avec une page d'erreur Rails standard (Using Postman). Comment puis-je m'assurer que toutes mes erreurs ne sont renvoyées qu'en tant qu'objets JSON?
PS. Je les instructions ci-dessous mis en place dans ma classe API:
default_format :json
format :json
formatter :json, Grape::Formatter::ActiveModelSerializers