提问人:Čamo 提问时间:8/25/2023 更新时间:9/7/2023 访问量:35
Laravel 8 ajax请求验证如何强制json响应?
Laravel 8 ajax request validation how to force json response?
问:
我的 Laravel 8 API 中有一个验证,用于验证来自相机的输入。相机无法发送任何标头,这将说它接受 application/json。所以 Laravel 在错误而不是 json 中的错误时向我发送 302 重定向响应。有没有办法强制 Laravel 发送 json 响应而不是在验证错误时重定向?谢谢你的帮助。
答:
0赞
JDarwind
8/25/2023
#1
是的,您可以在路由中应用中间件以设置所需的标头。
为了完成此任务,您需要使用以下命令创建一个中间件:.php artisan make:middleware SetJsonContentType
注意:替换为您喜欢的任何名称。SetJsonContentType
该文件将在目录下生成。app/Http/Middleware
在中间件的 handle 方法中,需要插入以下代码:
$request->headers->set('Accept', 'application/json');
return $next($request);
在此之后,您需要在请求中使用中间件。
为此,您需要将中间件添加到 app/Http/Kernel.php 文件的 Web 部分。
您将以这样的内容结束:SetJsonContentType
protected $middlewareGroups = [
'api' => [
\App\Http\Middleware\SetJsonHeader::class,
//other middleware
],
'web' => [
// ...
],
];
我希望这对你有所帮助。
评论
0赞
OMi Shah
8/26/2023
请不要写重复的答案,因为这个重复的问题已经回答过了。
评论