2016-08-05 24 views
1

我有兩個路由Laravel野狗API不能識別方法給出錯誤的方法[測試]不存在

1. $api->get('usersInfo','App\Http\Controllers\[email protected]'); 
2. $api->get("checkboxbriefs/tbbid/{tbbid}","App\Http\Controllers\ 
[email protected]"); 

我使用這樣它。

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

}

我已經在供應商加入

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

也修正了配置。

我得到的錯誤在第二條路線爲:

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

第一條路線是沒有任何問題的正常工作。

+0

可以驗證'應用程序\ HTTP \控制器\ ApiController'有一個名爲'testing()'的方法? –

+0

驗證它有方法測試();這是它存在的唯一目的。 –

回答

1

對於任何正在尋找這種問題的解決方案。

實現沒有任何問題嘗試去扔你的代碼,並發現控制器中的任何錯誤必須有一些。

如果您將創建具有不同名稱的新控制器並在其中放置一個函數,那麼調用該函數將獲得傳遞拋出路徑的變量值。

至少這是我的情況。

我用不同的名字創建了新的控制器,其中只包含了單個函數,它讓我假設在編輯一切正常的腳本後會出現一些錯誤。

這種錯誤出現在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}

+0

你是正確的席位...這花了2個工時後真的很有用。我查看了我的代碼,發現代碼沒有使用完全限定名稱空間調用,因此它正在破壞功能。 –

相關問題