[英]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.