Laravel 5 野狗 API 控制器

Posted

技术标签:

【中文标题】Laravel 5 野狗 API 控制器【英文标题】:Laravel 5 Dingo API controller 【发布时间】:2015-11-02 01:48:08 【问题描述】:

我一直在尝试使用 Laravel 5 Dingo API 包实现 REST API。

这是我的路由代码:

 $api->version('v1', function ($api) 
    $api->get('users/id', 'Api\V1\UsersController@show');
);

这是我的错误代码:

"message":"Class Api\\V1\\UsersController does not exist","code":-1,"status_code":500

那么,我应该将我的控制器文件放在哪里才能找到我的控制器的正确路径?

我将文件放在app/http/controllers/Api/V1/ 目录中,但仍然出现这种错误。

我正在为 Laravel 使用 Dingo API 0.10。

【问题讨论】:

您的UsersController 文件是否有正确的命名空间? IE。文件顶部是否有namespace App\Http\Controllers\Api\V1 是的,用户控制器顶部有namespace App\Http\Controllers\Api\V1 我能看到的唯一另一件事是检查拼写错误并检查您是否正确遵循文档:github.com/dingo/api/wiki/Creating-API-Endpoints 如果您可以为您的问题添加更多信息,您可以能够获得更多帮助。也许复制粘贴route:list的输出 解决了这个问题我在路由$api->get('users/id', 'App\Http\Controllers\Api\V1\UsersController@show');添加控制器的完整路径 很高兴您找到了解决问题的方法。如果您愿意,可以添加您的答案! 【参考方案1】:

通过在路由中添加控制器的完整路径

$api->get('users/id', 'App\Http\Controllers\Api\V1\UsersController@show');

将修复此错误。

【讨论】:

以上是关于Laravel 5 野狗 API 控制器的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 5.3 在 API 中过滤搜索数据

Laravel 5.5 - 仅记录 500 错误,从不通过 api 发送错误详细信息?

Laravel RESTful API 版本控制设计

减少对外部 API 的身份验证调用(Laravel 5.6)

如何从 laravel 5.2 中的网站提取 API? [关闭]

使用 Laravel 5.8 对没有数据库(计数)的 API 响应进行分页