我在 laravel.But 中使用 dingo/api 它总是错误 404
I use dingo/api in laravel.But it's always error 404
我在 laravel.But 中使用 dingo/api 它总是错误 404。
这是我的配置文件:
# dingo/api`
API_STANDARDS_TREE=vnd
API_SUBTYPE=ipr
API_PREFIX=api
API_VERSION=v1
API_DEBUG=true
而且,在我的 config/app.php
enter image description here
App\Providers\AppServiceProvider::class,
App\Providers\AuthServiceProvider::class,
// App\Providers\BroadcastServiceProvider::class,
App\Providers\EventServiceProvider::class,
App\Providers\RouteServiceProvider::class,
// RepositoryServiceProvider
Prettus\Repository\Providers\RepositoryServiceProvider::class,
// Dingo
Dingo\Api\Provider\LaravelServiceProvider::class
另外,我生成了 routes/api.php
php artisan vendor:publish --provider="Dingo\Api\Provider\LaravelServiceProvider"
这是我的 routes\api.php
:
$api = app('Dingo\Api\Routing\Router');
$api->version('v1', function ($api) {
$api->group(['namespace' => 'App\Http\Controllers\Home'], function($api) {
$api->get('/test', 'ULoginController@register');
});
});
这是我的项目结构:
enter image description here
我需要你的帮助,谢谢。
改变这个
$api->group(['namespace' => 'App\Http\Controllers\Home'], function($api) {
$api->get('/test', 'ULoginController@register');
});
到
$api->group(['namespace' => 'App\Http\Controllers\Home'], function($api) {
$api->get('/test', 'App\Http\Controllers\ULoginController@register');
});
为什么?因为 Dingo 使用单独的逻辑来加载控制器来区分 Laravel 和 Dingo API 的控制器。
这就是你必须手动调用控制器路径的原因
我在 laravel.But 中使用 dingo/api 它总是错误 404。 这是我的配置文件:
# dingo/api`
API_STANDARDS_TREE=vnd
API_SUBTYPE=ipr
API_PREFIX=api
API_VERSION=v1
API_DEBUG=true
而且,在我的 config/app.php
enter image description here
App\Providers\AppServiceProvider::class,
App\Providers\AuthServiceProvider::class,
// App\Providers\BroadcastServiceProvider::class,
App\Providers\EventServiceProvider::class,
App\Providers\RouteServiceProvider::class,
// RepositoryServiceProvider
Prettus\Repository\Providers\RepositoryServiceProvider::class,
// Dingo
Dingo\Api\Provider\LaravelServiceProvider::class
另外,我生成了 routes/api.php
php artisan vendor:publish --provider="Dingo\Api\Provider\LaravelServiceProvider"
这是我的 routes\api.php
:
$api = app('Dingo\Api\Routing\Router');
$api->version('v1', function ($api) {
$api->group(['namespace' => 'App\Http\Controllers\Home'], function($api) {
$api->get('/test', 'ULoginController@register');
});
});
这是我的项目结构: enter image description here
我需要你的帮助,谢谢。
改变这个
$api->group(['namespace' => 'App\Http\Controllers\Home'], function($api) {
$api->get('/test', 'ULoginController@register');
});
到
$api->group(['namespace' => 'App\Http\Controllers\Home'], function($api) {
$api->get('/test', 'App\Http\Controllers\ULoginController@register');
});
为什么?因为 Dingo 使用单独的逻辑来加载控制器来区分 Laravel 和 Dingo API 的控制器。
这就是你必须手动调用控制器路径的原因