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