Use validation exception instead of building response in a Controller #68
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi!
This PR changes the way validation response is built. Previous code relied upon a function in base
Controller
class that builds the validation response. That approach had a couple of problems:ValidatorInterface
to every POST/PATCH route.JsonApiErrorHandlerEvent
class.With this PR,
validate()
function is added to base controller that throwsValidationExeption
. Then, the logic that builds JsonApi error response is moved toJsonApiErrorHandlerEvent
andValidationErrorDocument
.This removes some unnecessary repeating of logic in every specific Controller class and
ValidatorInterface
dependency. Also,it moves the rest of the logic to the right place. Original
validationErrorResponse()
function is not removed, but marked as deprecated to keep the bundle backward compatible.