簡體   English   中英

"未找到 Laravel API 路由"

[英]Laravel API Routes Not Found

我是 API 和 Vue 的新手。 我正在研究 Laravel 5.8 api.php 和控制器和視圖,它只返回 404 Not Found。

這是我試過的

api.php<\/strong>

 Route::group(['middleware' => 'api'], function(){
    Route::resource('/dashboard/departments', 'DepartmentsController');
 });

請記住,在api.php聲明的api.php將自動連接到/api前綴,順便說一句:

Route::get('/hello', ...)
axios.get('/api/hello')

您的 API 路由位於需要 API 類型身份驗證的api中間件中。 如果您查看API 身份驗證文檔,您需要設置 API 令牌並隨請求傳入。

您需要將令牌與您的請求一起傳遞,刪除api中間件並讓您的 API 路由未經身份驗證,或者將您需要通過瀏覽器訪問的路由移出api中間件並移入web中間件和路由文件。

對於任何仍然想知道的人,或者只是我。 這是我經過多次試驗后所做的。

我從我的 API.php 中刪除了 route::group,從 RouteServiceProvider.php 中刪除了前綴('api')並用中間件('web')替換它

這是我的RouteServiceProvider.php文件

protected function mapApiRoutes()
{
    Route::middleware('api')
        ->middleware('web')
        ->namespace($this->namespace)
        ->group(base_path('routes/api.php'));
}

這是我的api.php文件

Route::resource('/dashboard/departments', 'DepartmentsController');

只需在 api 之前在 url 中添加 public 。

喜歡

/127.0.0.1:8000/public/api/dashboard/departments

要運行 laravel 項目“用你的主機替換主機”:

php artisan serve --host 10.11.222.33 --port 8000

或者也可以這樣

php artisan serve --host 127.0.0.1 --port 8000

然后調用 API

http://10.11.222.33:8000/api/departments

趕緊跑

php artisan route:clear

如果您使用的是 REST 客戶端(Imsomnia、Postman),則需要檢查您是否接受 JSON 響應。 在名為“Accept”和“application\/json”的請求中放置一個標頭作為值。

帶有“application\/json”值的標頭“Accept”<\/a>

如果請求的路由具有驗證(並且您沒有發送標頭),您的響應將是根頁面(如果您在 routes\/web.php 中沒有路由,則返回 404 錯誤)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM