Laravel 5自定义请求无效-不重定向

Laravel 5自定义请求无效-不重定向,laravel,laravel-5,Laravel,Laravel 5,我在Laravel 5上有一个自定义的请求类,它处理表单输入(POST)。问题是,我想对GET方法使用相同的请求类,但不是将用户重定向回原始请求URL(导致无限循环),我想抛出一个异常(如果请求无效),这怎么可能呢?您可以在请求方法中添加类似的内容: if (Request::isMethod('get')) { //Here you can add your custom exception. } 有关这方面的更多信息,请参见文档:在自定义的请求类中,您可以覆盖表单请求类中定义的fa

我在Laravel 5上有一个自定义的
请求
类,它处理表单输入(POST)。问题是,我想对GET方法使用相同的请求类,但不是将用户重定向回原始请求URL(导致无限循环),我想抛出一个异常(如果请求无效),这怎么可能呢?

您可以在请求方法中添加类似的内容:

if (Request::isMethod('get'))
{
    //Here you can add your custom exception.
}

有关这方面的更多信息,请参见文档:

在自定义的
请求
类中,您可以覆盖
表单请求
类中定义的failedValidation方法

即,将此方法放入您的
请求中
类:

protected function failedValidation(\Illuminate\Validation\Validator $validator) {
    throw new \Exception('Error processing request');
}
重写response()方法也可用于返回首选响应,我个人使用它以JSON形式返回错误,只需返回JsonResponse,其中包含错误和响应代码:

public function response(array $errors)
{
    return new JsonResponse($errors, 422);
}

是的,但那是在请求本身,问题是我的请求没有通过验证(规则方法),因此它失败了,我甚至没有到达控制器,它只是把我扔回到以前仍然无效的URL,然后创建一个无限循环。@Broshi我需要看一些代码。我不明白问题出在哪里。这是请求代码:这是我的
api
控制器,它处理
GET
请求:正如你所看到的,控制器请求我的
自定义请求
问题是它没有传递并重定向回原始URL,这是无效的,因此出现了无限循环。。。