Php Laravel API控制器的验证JSON响应
假设我的Laravel8应用程序中有一个负责API web服务的控制器。使用Php Laravel API控制器的验证JSON响应,php,laravel,Php,Laravel,假设我的Laravel8应用程序中有一个负责API web服务的控制器。使用验证程序facade返回正确的HTTP响应/错误消息的选项是什么 public function __invoke(Request $request) { $validator = Validator::make($request->all(), [ 'user_id' => 'required|digits' ]); i
验证程序
facade返回正确的HTTP响应/错误消息的选项是什么
public function __invoke(Request $request)
{
$validator = Validator::make($request->all(), [
'user_id' => 'required|digits'
]);
if ($validator->fails()) {
return response()->json([
]);
}
}
在这种情况下,如果请求正文中缺少
user\u id
,我想使用$validator
中内置的错误消息返回JSON响应,并使用HTTP 4xx?(我认为400在请求错误的情况下,缺少必需的参数)。我不想在这里重定向,只是返回一个HTTP 400,其中包含错误消息作为JSON响应。如何在Laravel 8.x中实现这一点?如果您的请求为JSON发送适当的“accept”头,您可以调用validate
,它将抛出一个异常,导致异常处理程序将消息作为JSON返回,则验证使用422code@lagbox问题是,,我不能指望每个客户机都能设置合适的头。如果需要,也可以通过中间件将此头强制放入请求中,因此,框架认为所有对api的请求都在接受JSON。您是否尝试将路由
放在api.php
传入请求中?在App\Http\Kernel.middlewareGroups