我正在使用Laravel 5.5开发一些API
我使用的方法只是'GET'/'POST'/'PUT'/'PATCH'/'DELETE'。
一切正常,除非请求是HEAD或LOCK(例如)....
在这种情况下,后端使用html响应返回405错误。在这个HTML响应中有很多机密数据。
是否有可能,仅对某些方法,后面返回单个文本“Method not allowed”而不是html文件?这样做或不必要是一个好习惯吗?
我想象一个中间件,但哪一个?
您使用机密数据获取调试信息的原因可能是由于debug
在您的配置中设置为true
。如果您将其转为false
,错误消息将删除机密数据。
我找到了解决方案。
文件Exceptions / handler.php,方法渲染:我有这个:
if ($request->is('api/*') and ! in_array($request->method(), ['get', 'post', 'put', 'delete']) ){
return response()->json("request not allowed", 405);
}
它工作正常。现在我收到了一个json响应而不是我所有api路由的html响应,不同的是'get / put / post / delete'。
他们