をしたい、実際の関連データを返すの適切な方法を見つけることができませんしかし、それはちょっと間抜けだHandler.php
public function render($request, Exception $exception)
{
$message = $exception->getMessage();
if (is_object($message)) {
$message = $message->toArray();
}
if ($exception instanceof ValidationException) {
return response()->json($message, 400);
}
...
}
のレンダリング機能で遊んでしようとした - 実際にlaravelはすでに私が望むものを提供しました。
public function render($request, Exception $e)
{
$e = $this->prepareException($e);
if ($e instanceof HttpResponseException) {
return $e->getResponse();
} elseif ($e instanceof AuthenticationException) {
return $this->unauthenticated($request, $e);
} elseif ($e instanceof ValidationException) {
return $this->convertValidationExceptionToResponse($e, $request);
}
return $this->prepareResponse($request, $e);
}
をしてconvertValidationExceptionToResponse::だから正確にあなたはいつもそれは、あなたが検証にドキュメントが言う方法を行うことができますJSONを返すようにしたい場合は、私は
を望ん
ハンドラはありませんexceptionHandlerのを拡張します: '$ this-> validate($ request、$ rules、$ messages)'を呼び出し、 'Illuminate \ Foundation \ Validation \ ValidatesRequests'特性の' buildFailedValidationResponse'メソッドをオーバーライドして、常にjsonレスポンスを構築します。 – Bryan