laravel - Laravel Dingo 类不存在
问题描述
我在使用Dingo函数的 api.php 上有代码,但我无法调用控制器,因为它总是声明找不到 Controller,即使在他们的文档中明确指定我必须将控制器的完整路径放入我做了什么。
<?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();
});
错误信息:Error Message: message: "Target class [app\Http\Controllers\TestController] does not exist.", status_code: 500,
你认为我在这里缺少什么?
解决方案
引用文件时,大小写确实很重要。我最近才发现这个。
内部hello
路线
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 Controllers Path 上做了同样的事情
只是提醒一下,所以当您尝试在 vscode 上使用“复制相对路径”时,请尽量注意命名约定。
推荐阅读
- python - 使用python和mongodb存储大量彩色图像直方图
- apache-camel - 使用 apache camel 观察网络上的反应流
- javascript - 为什么比较对象值返回 false?
- php - 如何在 htaccess 中使用 get 变量(不同的顺序)
- jquery - 在每 6 个列表项之后添加 CTA,从第 4 号开始每 6 个添加另一个 CTA 广告(jQuery)
- apache-spark - SPARK STREAMING:我想做一些流式练习,如何获得好的流式数据源?
- flutter - 创建 Flutter 库以同时支持 Web 和移动设备
- php - Php 数组,循环通过“父”
- python - python多处理池运行速度较慢?
- php - Laravel 5.5 - 记住我和自定义会话值问题