Laravel:“ $ php artisan route:list”未在App \ Http \ Controllers \ API中显示路由列表

问题描述 投票:0回答:4

我在内部创建了一个UserController

app/Http/Controllers/API/UserController.php

在UserController.php内部,我有这个namespace App\Http\Controllers\API;

在api.php里面,我有这个Route::apiResources(['user' => 'API\UserController']);

当我尝试显示路线列表时,出现以下错误。

错误:目标类[App \ Http \ Controllers \ UserController]没有存在。

我们如何告诉Laravel UserControllerapp/Http/Controllers/API?内部

laravel api vue.js
4个回答
0
投票

您是否已检查指定的路径正确?并且您还可以在UserController中检查名称空间,它对应于:namespace App\Http\Controllers\API吗?

或者,您也可以简单地在wep / api路由中添加控制器:

Route::get('prefix', 'DirOfYourController\YourController@SomeFunction);

或如文档中所述,您可以在这里查看:

https://laravel.com/docs/master/routing#route-group-namespaces


0
投票

肯定是因为您的web.phpapi.php文件之一确保其中的文件名称空间正确Route::get('foo', 'API\UserController');


0
投票

您只需遵循两个步骤即可达到相同的目的:

Step1:UserController中定义正确的名称空间,如下所示

namespace App\Http\Controllers\API;

Step2:web.php中用目录名称定义路由,例如

 Route::get('dashboard', 'API\UserController@dashboard');

0
投票

您需要定义名称空间,以便laravel可以找到控制器:

<?php
namespace App\Http\Controllers\API;
...
class UserController extends Controller {

您已经用名称空间API定义了api.php:

Route::apiResources(['user' => 'API\UserController']);

尝试清除路由缓存:

php artisan route:clear
php artisan optimize
© www.soinside.com 2019 - 2024. All rights reserved.