Laravel 8 表單驗證丟擲異常返回 json 格式資料

Jason_Mann發表於2021-06-22

Laravel 8 作為 api 伺服器時,如果想要使用 Postman 提交資料,表單驗證異常時返回 json 格式資料

方法一:設定請求頭 Accept: application/json

方法二:設定請求頭 X-Requested-With: XMLHttpRequest

方法三:在 App\Exceptions\Handler 檔案中新增如下方法:

/**
     * Create a response object from the given validation exception.
     *
     * @param  \Illuminate\Validation\ValidationException  $e
     * @param  \Illuminate\Http\Request  $request
     * @return \Symfony\Component\HttpFoundation\Response
     */
    protected function convertValidationExceptionToResponse(ValidationException $e, $request)
    {
        if ($e->response) {
            return $e->response;
        }
        return response()->json([
            // 自定義返回資訊
            'message' => '提交的資料無效',
            'errors' => $e->errors(),
        ], $e->status);
    }
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章