Laravel处理API请求时返回BadMethodCallException的原因是什么?
解决Laravel中Axios调用API出现BadMethodCallException的问题
问题根源
你的APIController里的test方法被定义为private(私有),Laravel路由无法调用控制器的私有方法,这就是抛出BadMethodCallException的原因。
修复方案
将控制器中的test方法的访问修饰符从private改为public:
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class APIController extends Controller { // 改为public public function test(Request $request) { // test return response()->json(new \stdClass()); } }
补充说明
- 你的路由配置(api.php)是正确的,无需修改。
- 之前清除缓存无效是因为问题核心不在缓存,而是方法的访问权限错误。修改后重新发起Axios请求即可正常获取响应。
内容的提问来源于stack exchange,提问作者matt
相关产品推荐
相关产品推荐

