php - 目标类 [Api\UserController] 不存在
问题描述
使用 php artisan route:list 后,我在 Laravel 8 中收到此错误:
Illuminate\Contracts\Container\BindingResolutionException 目标类 [Api\UserController] 不存在。
我在 App\Http\Controllers\Api 中有一个控制器:
<?php
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class UserController extends Controller
{
public function index()
{
$users = User::all();
return responde()->json($users);
}
}
路线/api.php:
<?php
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Api\UserController;
Route::get('users', 'Api\\UserController@index');
我是 Laravel 的新手
解决方案
由于您正在导入use App\Http\Controllers\Api\UserController
命名空间语句,因此您可以使用::class
控制器类的表示法。它还将带来额外的好处,因为 IDE 将能够导航到与字符串不同的路径
从 Laravel 8 开始,我猜默认命名空间不再定义App\Http\Controllers
在 RouteServiceProvider 中,而是由开发人员通过将 $namespace 属性设置为所需的值来定义默认命名空间。
<?php
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Api\UserController;
Route::get('users', [UserController::class, 'index']);
推荐阅读
- javascript - 将数据动态显示到我的 html 页面,其中数据来自我创建的 api
- javascript - 如何更改目标跨度onClick
- react-native - 即使应用程序重新启动并连接到互联网,React Native fetch 仍然失败 - 具有双卡/漫游的手机
- r - 对列自身进行回归
- laravel-5 - laravel excel 导出中的错误 - touch():无法创建文件 /var/folders/ 因为权限被拒绝
- wordpress - 无法保存 wordpress 古腾堡自定义块
- sql - 插入sql记录
- angular - 带有表单组的 Angular ng-template
- mongoose - 如何检查2个ID是否在猫鼬的数组中
- laravel - 尽管有更新调用,模型的字段没有更新的任何原因?