2017-05-13 78 views
0

以下是我在路由,控制器中的代碼。無法在Laravel 5.3中訪問auth用戶API ROUTE

API路線:

api.php

Route::group(['middleware' => ['auth:api']], function() { 
    Route::get('/get-user','[email protected]'); 
}); 

控制器:

ApiController.php

use Illuminate\Support\Facades\Auth; 

class ApiControllerextends Controller{ 

    public function getUserInfo(){ 
     $user =Auth::user();dd($user); 
    } 

} 
+0

你嘗試的方法在你的路線訪問不是你想要的。它應該是getHashtag()來代替。 –

+0

實際上我粘貼的代碼是錯誤的可以請你檢查一次@ FaizKhan –

+0

@JuluriVinay:你的挑戰有多遠?下面的解決方案是否解決了這個問題? – nyedidikeke

回答

0

TL; DR

只要讓你的控制器類閱讀:

class ApiController extends Controller {} 

而不是當前的一個:

class ApiControllerextends Controller {} 

注意,你指的是在您的api.php(ApiController)控制器不存在。

取而代之的是,

Route::group(['middleware' => ['auth:api']], function() { 
    Route::get('/get-user','[email protected]'); 
}); 

這樣做:

Route::group(['middleware' => ['auth:api']], function() { 
    Route::get('/get-user','[email protected]'); 
}); 

因爲你必須定義控制器ApiControllerextends;不是ApiController

另外,您的控制器方法有錯誤;

取而代之的是:

use Illuminate\Support\Facades\Auth; 

class ApiControllerextends Controller{ 

    public function getUserInfo(){ 
     $user =Auth::user();dd($user); 
    } 

} 

你應該有:

use Illuminate\Support\Facades\Auth; 

class ApiControllerextends extends Controller{ 

    public function getUserInfo(){ 
     $user =Auth::user();dd($user); 
    } 

} 

或本:

use Illuminate\Support\Facades\Auth; 

class ApiController extends Controller{ 

    public function getUserInfo(){ 
     $user =Auth::user();dd($user); 
    } 

} 

因爲你確實需要通過擴展它來擴展內置的laravel Controller類使用延伸

使用上述指南應該有助於理解和解決您面臨的挑戰。

...更多細節here

0

你需要你的API控制器從控制器擴展,像

use Illuminate\Support\Facades\Auth; 

class ApiController extends Controller{ 

    public function getUserInfo(){ 
     $user =Auth::user(); 
     dd($user); 
    } 

} 

路線看起來像

Route::group(['middleware' => ['auth:api']], function() { 
     Route::get('/get-user','[email protected]'); 
});