getAttribute(RouteResult::class) !== null; $isNotFound = ! $hasRoute && ! isset($err); if ($isNotFound) { $responsePhrase = 'Not found'; $status = 404; } else { $status = $response->getStatusCode(); $responsePhrase = $status < 400 ? 'Internal Server Error' : $response->getReasonPhrase(); $status = $status < 400 ? 500 : $status; } return new JsonResponse([ 'error' => $this->responsePhraseToCode($responsePhrase), 'message' => $responsePhrase, ], $status); } /** * @param string $responsePhrase * @return string */ protected function responsePhraseToCode($responsePhrase) { return strtoupper(str_replace(' ', '_', $responsePhrase)); } }