Как проверка Laravel возвращает Exception как Json без try catch? - PullRequest
0 голосов
/ 22 мая 2019

Я создаю журнал исключений в своем приложении Laravel для отправки писем или сообщений Telegram, когда отправляется ошибка, определенная как важная.На самом деле, я использую блок «try catch» в каждой из функций моего контроллера, чтобы перехватить исключение, передаваемое любой частью моего приложения.У меня вопрос: как работает проверка Laravel для возврата исключений в виде ответа JSON без использования return предложений или try catch блоков на каждый вызов?

Что мне теперь нужно сделать в контроллере:

someAction();

try {
    Model::someFunction($params);
catch (MyCustomException $e)
    return json()->response($e->getMessage(), 500); // Return json error if fails
}

return anotherAction();

Что я хочу сделать в контроллере:

someAction();

Model::someFunction($params); // Return json error if fails and stop execution

return anotherAction();

Что делает проверка Laravel:

someAction();

$request->validate($validationRules); // Return json error if validation fails and stop execution

return anotherAction();

1 Ответ

0 голосов
/ 22 мая 2019

Вы можете сделать валидатор

<?php

use Validator;
use Illuminate\Http\Request;

class MyController extends Controller {

    public function myFunction(Request $request)
    {
        $validator = Validator::make($request->all(), [
            'foo' => 'required',
            'bar' => 'required'
        ]);

        if ($validator->passes()) {

        }

        if ($validator->fails()) {

        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...