Laravel dingo api无法识别给出错误的方法方法[测试]不存在

时间:2016-08-05 00:30:53

标签: php laravel dingo-api

我有两条路线

 1. $api->get('usersInfo','App\Http\Controllers\ApiController@usersInfo');
 2. $api->get("checkboxbriefs/tbbid/{tbbid}","App\Http\Controllers\
 ApiController@testing");

我正在使用这个。

$api = app('Dingo\Api\Routing\Router');
$api->version('v1',function($api) {
$api->get('usersInfo','App\Http\Controllers\ApiController@usersInfo');
$api-    
>get("checkboxbriefs/tbbid/{tbbid}","App\Http\Controllers\
ApiController@testing");

}

我添加了

'providers' => [
    Dingo\Api\Provider\LaravelServiceProvider::class
]

在提供商中。

还修正了配置。

我在第二条路线中收到错误:

"message":"Method [testing] does not exist.","status_code":500,"debug":

第一条路线工作正常,没有任何问题。

1 个答案:

答案 0 :(得分:2)

对于正在寻找解决此类问题的人。

实现没有任何问题试图抛出你的代码并在控制器中发现任何错误必须有一些。

如果您要创建具有不同名称的新控制器并在其中放置一个函数,则调用该函数将获得通过抛出路径的变量值。

至少就是我的情况。

我创建了一个新的控制器,其中包含不同的名称,只包含单个函数,它让我假设我的脚本中有一些错误,编辑后的一切工作正常。

当您没有调用完全限定的类名时,Laravel5。*版本会出现这种错误。 就像我打电话

if (App::environment('local')) {
        ini_set('display_errors', E_ALL);
        error_reporting(1);

}

我需要打电话给下面的

if (\App::environment('local')) {
            ini_set('display_errors', E_ALL);
            error_reporting(1);
 }

错误示例 {"message":"Class 'App\\Http\\Controllers\\App' not found","status_code":500}