gpt4 book ai didi

json - 在 laravel 的 POST 请求中只允许内容类型为 json

转载 作者:行者123 更新时间:2023-12-04 13:14:28 24 4
gpt4 key购买 nike

我正在构建一个 laravel API,我需要在发布数据时只能接受类型为“application/json”的请求。任何其他内容类型都应返回 406“ Not Acceptable ”响应。

我知道我可以放入一些中间件来检查这个但是我想知道是否有更好的方法可以完成这个?

谢谢

最佳答案

使用这个中间件:

class WeWantJsonMiddleware
{
/**
* We only accept json
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if (!$request->isMethod('post')) return $next($request);


$acceptHeader = $request->header('Accept');
if ($acceptHeader != 'application/json') {
return response()->json([], 406);
}

return $next($request);
}
}

(https://stackoverflow.com/a/44453966/2311074 的修改)

并将它添加到 App\Http\Kernel$middleware 以检查每个发布请求。如果您只想检查 API 帖子请求,只需将其放入 $middlewareGroups['api']

关于json - 在 laravel 的 POST 请求中只允许内容类型为 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61662221/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com