Error Responses
Return consistent error shapes so clients can handle errors uniformly. Include error code, message, and details for validation errors.
Return consistent error shapes so clients can handle errors uniformly. Include error code, message, and details for validation errors.
// Consistent error shape
{
"error": {
"code": "VALIDATION_FAILED",
"message": "The given data was invalid.",
"details": { "email": ["The email field is required."] }
}
}
// app/Exceptions/Handler.php
public function render($request, Throwable $e) {
if ($request->expectsJson()) {
return response()->json(["error" => ["message" => $e->getMessage()]], $this->getStatusCode($e));
}
return parent::render($request, $e);
}
A consistent error envelope means API consumers need only one error-handling code path.