Sha256: ea97856c276e4610f30d5a6fb42af5e6a41de42da4f66646003fb43d6a55746f
Contents?: true
Size: 1.04 KB
Versions: 5
Compression:
Stored size: 1.04 KB
Contents
module Praxis module Responses class ValidationError < BadRequest def initialize(errors: nil, exception: nil, message: nil, **opts) super(**opts) @headers['Content-Type'] = 'application/json' #TODO: might want an error mediatype @errors = errors @exception = exception @message = message || (exception && exception.message) end def format! if @errors @body = {name: 'ValidationError', errors: @errors} elsif @message @body = {name: 'ValidationError', message: @message} end if @exception && @exception.cause @body[:cause] = {name: @exception.cause.class.name, message: @exception.cause.message} end @body end end end ApiDefinition.define do |api| api.response_template :validation_error do description "An error message indicating that one or more elements of the request did not match the API specification for the action" status 400 media_type "application/json" end end end
Version data entries
5 entries across 5 versions & 1 rubygems