Comments (8)
I made a temporary fix until you investigate a solution.
if ($request->expectsJson())
{
if($e instanceof ValidationException) {
$errors = $e->validator->errors();
return ResponseBuilder::errorWithMessageAndData(ErrorCode::VALIDATION_ERROR, 'Validation errors', [
'message' => $errors->first(),
'messages' => $errors->getMessages(),
]);
} else if($e instanceof AuthorizationException) {
return ResponseBuilder::errorWithHttpCode(ErrorCode::UNAUTHORIZED, ErrorCode::UNAUTHORIZED);
}
return ExceptionHandlerHelper::render($request, $e);
}
from laravel-api-response-builder.
It seems I need to update Exception Handler helper code as it is not fully compatible with recent Laravel. AFAIR it sticks to 5.2 flow, yet there are changes in recent Laravel that remain uncovered. IT will be addressed in next release.
Thanks for the feedback. Keep it coming.
from laravel-api-response-builder.
First, you need to check your server's error.log
.
from laravel-api-response-builder.
@MarcinOrlowski Ok you didn't understand the laravel api response works just it doesn't work/use the FormRequest. It's throwing a Illuminate\\Validation\\ValidationException
but api response is not handling it right.
The message just says this "message": "The given data failed to pass validation.",
that doesn't tell you what fields failed the validation?
Right now I'm using it the bloated way.
$validator = Validator::make($request->all(), [
'name' => 'required|max:191',
]);
if ($validator->fails()) {
return ResponseBuilder::errorWithMessageAndData(ErrorCode::VALIDATION_ERROR, 'Validation errors', [
'message' => $validator->messages()->first(),
'messages' => $validator->messages(),
]);
}
Which is allot of code that the FormRequest can resolve.
from laravel-api-response-builder.
Ok this is another situation where your custom exception handler doesn't check if it's a instanceof ValidationException.
https://github.com/laravel/framework/blob/5.4/src/Illuminate/Foundation/Exceptions/Handler.php#L115
from laravel-api-response-builder.
What version of Laravel you use?
from laravel-api-response-builder.
@MarcinOrlowski This current project is using 5.4
from laravel-api-response-builder.
Added in @dev
from laravel-api-response-builder.
Related Issues (20)
- ExceptionHandlerHelper::render should accept Throwable as second argument.
- ExceptionHandlerHelper::render() should Accept Throwable as second argument. HOT 2
- Response builder is not working with Laravel resource and resource collection HOT 7
- Will docs publish at a website? HOT 1
- DefaultExceptionHandler should accept \Throwable as a second argument HOT 1
- Exceptionhandler cannot use custom MyResponseBuilder HOT 2
- How to use with resource collection HOT 2
- Cannot configure a converter key as NULL HOT 5
- Setting status code for the response. HOT 7
- Logo's texts should be converted to paths
- Exception Handler is not working HOT 2
- "Undefined array key" for ex handler config lacking i.e. api_code entry. HOT 3
- errors key for validation HOT 1
- No data conversion mapping configured for custom class. HOT 4
- Custom key for Exceptions HOT 1
- Undefined array key "handler" HOT 2
- Update to Laravel 10? HOT 3
- Exception handler - Incorrect documentation HOT 1
- How does ExceptionHandlerHelper return information in a custom format? HOT 1
- Support Laravel 11
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from laravel-api-response-builder.