我的应用程序在api endpoints 通过 POST
请求创建一个新条目 .
现在,如果任何验证失败,则laravel 5.3将请求重定向到主页,而不是返回错误json .
这是我的控制器:
public function create( Request $request )
{
$organization = new Organization;
// Validate user input
$this->validate($request, [
'organizationName' => 'required',
'organizationType' => 'required',
'companyStreet' => 'required'
]);
// Add data
$organization->organizationName = $request->input('organizationName');
$organization->organizationType = $request->input('organizationType');
$organization->companyStreet = $request->input('companyStreet');
$organization->save();
return response()->json($organization);
}
如果验证没有问题,那么实体将成功添加到数据库中,但如果验证请求存在问题,则不会将所有错误消息作为json响应发送,而是重定向回主页 .
我如何将验证返回类型设置为json,因此对于每个请求,如果验证失败,则laravel将默认将所有错误消息作为json发送 .
2 回答
您可以进行以下验证:
问题中使用的验证按照laravel的建议进行查看 . 重定向的原因是它抛出了一个异常,您可以使用下面的代码轻松捕获它 . 所以最好使用推荐的代码方式,而不是重新编写框架代码:)