2017-12-23 39 views
0

작동하지 않음 예를 들어 으로 변경하고 APP_ENVlocal에서 production으로 변경하십시오. 그렇게하면 루멘의 요청 유효성 검사가 중단됩니다. 하지만 APP_DEBUGtrue으로 설정하면 요청 유효성 검사가 예상대로 작동합니다. 내가 놓친 게 있니?루멘 요청 유효성 검사는 내 프로덕션 서버에 대해 다음 설정 한 내 <code>.env</code> 파일에서

P. 프로덕션 서버 환경 PHP 버전은 7.1.12

UPDATE 또한

I App\Exceptions\Handler.php에 다음 코드가 나는 또한 행동에 영향을 생각하는 방법, 렌더링 있습니다

if (env('APP_DEBUG')) { 
    return parent::render($request, $e); 
} 

$message = 'Внутренняя ошибка на сервере'; 
$response_code = 500; 

if ($e instanceof MethodNotAllowedHttpException) { 
    $message = 'Запрос не разрешен (неправильный метод запроса)'; 
    $response_code = 405; 
} 
elseif ($e instanceof NotFoundHttpException) { 
    $message = 'Указан неверный адрес конечной точки API'; 
    $response_code = 404; 
} 
elseif ($e instanceof AuthorizationException) { 
    $message = 'Отказ в доступе (нет прав на доступ)'; 
    $response_code = 403; 
} 
elseif ($e instanceof FatalThrowableError || $e instanceof \ErrorException) 
{ 
    $message = 'Неверный запрос URL-адреса (проверьте поля запроса)'; 
    $response_code = 400; 
} 
elseif ($e instanceof QueryException) { 
    $message = 'Нарушение целостности базы данных'; 
    $response_code = 406; 
} 

return response()->json([ 
    'success' => false, 
    'errors' => [ 
    [ 
     'id' => 'default', 
     'message' => $message 
    ] 
    ] 
], $response_code); 

내가 APP_ENV=production을 설정하는 경우를 APP_DEBUG=false의 경우 Exception의 render 메서드는 유효성 검사 응답 대신 json 응답을 반환합니다.

+0

if (env('APP_DEBUG')) { return parent::render($request, $e); } 

if (env('APP_DEBUG') || $e instanceof \Illuminate\Validation\ValidationException) { return parent::render($request, $e); } 

에 또는 당신이 원하는 것을 할 것입니다 추가 elseif 블록을 추가 :

필요에 따라 변경 할 수 있습니다 응답 유효성 확인 메시지? json –

답변

0

여기서 문제는 여기에서 처리하지 않는다는 것입니다. Illuminate\Validation\ValidationException. $e가 instanceof를 당신이 필요로하는 \Illuminate\Validation\ValidationException

+0

$ dontReport 배열에 있기 때문에 이미 처리 된 줄 알았지 만 나중에이 두 가지가 전혀 관련이 없다는 것을 깨달았습니다. 덕분에 많이 감사합니다. –