Проверка Laravel с пользовательским JSON Response - PullRequest
0 голосов
/ 15 февраля 2019

Быстрый вопрос.Можно ли будет изменить ответ проверки JSON laravel?Это для пользовательского API, который я создаю в Laravel.

Процесс проверки

$validation = $this->validate( 
    $request, [
        'user_id' => 'required', 
    ]);

Ответ отображается следующим образом: json

{
  "message": "The given data was invalid.",
  "errors": {
    "user_id": [
      "The user id field is required."
    ],
  }
}

Предпочтительнеестать чем-то вроде этого.

{
    "common:" [
        "status": "invalid",
        "message": "Param xxxx is required",
    ],
}

Как лучше всего это изменить?Это вообще возможно?

Спасибо.

1 Ответ

0 голосов
/ 15 февраля 2019

Вы можете сделать это, и это будет отражено во всем мире.Перейдите в папку ниже и используйте приложение Controller.php / Http / Controllers

use Illuminate\Http\Request;

Напишите ниже метод в Controller.php и измените ответ, как хотите.

public function validate(
    Request $request,
    array $rules,
    array $messages = [],
    array $customAttributes = [])
{
    $validator = $this->getValidationFactory()
        ->make(
            $request->all(),
            $rules, $messages,
            $customAttributes
        );
    if ($validator->fails()) {
        $errors = (new \Illuminate\Validation\ValidationException($validator))->errors();
        throw new \Illuminate\Http\Exceptions\HttpResponseException(response()->json(
            [
                'status' => false,
                'message' => "Some fields are missing!",
                'error_code' => 1,
                'errors' => $errors
            ], \Illuminate\Http\JsonResponse::HTTP_UNPROCESSABLE_ENTITY));
    }
}

Я пробовалс Laravel 5.6, может быть, это полезно для вас.

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