Laravel 拉维野狗类不存在

Laravel 拉维野狗类不存在,laravel,dingo-api,Laravel,Dingo Api,我在api.php上有使用函数的代码,我调用控制器时遇到问题,因为它总是声明找不到控制器,即使在它们的文档中,它明确规定我必须将我所做的事情放在控制器的完整路径中 <?php use Illuminate\Http\Request; use Illuminate\Support\Facades\Route; // use Dingo\Api\Contract\Http\Request; // use Dingo\Api\Facade\Route; /* |--------------

我在api.php上有使用函数的代码,我调用控制器时遇到问题,因为它总是声明找不到控制器,即使在它们的文档中,它明确规定我必须将我所做的事情放在控制器的完整路径中

<?php

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;

// use Dingo\Api\Contract\Http\Request;
// use Dingo\Api\Facade\Route;

/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| Here is where you can register API routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| is assigned the "api" middleware group. Enjoy building your API!
|
*/

$api = app('Dingo\Api\Routing\Router');
$api->version('v1', function ($api) {

    // This Will Work
    // $api->get('hello', function() {
    //     return "hi";
    // });
    
    // Will not work
    $api->get('hello', 'App\\Api\Controllers\\TestController@index');
    $api->get('hi','App\\Http\\Controllers\\TestController@index');
});

Route::middleware('auth:api')->get('/user', function (Request $request) {
    return $request->user();
});


引用文件时,大小写确实很重要。我最近才发现这一点

内部
hello
route

namespace app\Api\Controllers;

use Dingo\Api\Http\Request;
use app\Http\Controllers\Controller;

class TestController extends Controller
{
    public function index(Request $request)
    {
        return "hi";
    }
}
必须将
app\Http\..
更改为
app\Http\..

在Api.php控制器路径上也执行了相同的操作
只是一个提醒,所以当您尝试在vscode上使用“复制相对路径”时,请注意命名约定