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