環境
Laravel v9.5.1 (PHP v8.1.3)
パラメータに不正な日付のフォーマットで渡ってきたとき
日付が「2022-1-1」「2022/1/1」で渡ってきたら問題なくparse
してくれるけど、「2022.1.1」などのフォーマットはparse
できずに500エラーが返ってしまう。
500で返してもフロント側が困るので、Handlerに下記を追加。
ステータスコード400でCarbon
のエラーメッセージをキャッチしてそのまま返すようにした。
use Carbon\Exceptions\Exception;
public function register()
{
$this->renderable(function (Exception $e) {
$message = $e->getMessage();
$errorMessage = [
'message' => $message,
];
return (new ErrorResource($errorMessage))->response()->setStatusCode(400);
}