我有一个小型前端来存储信息。前端控制器被称为ShowsController
。我想从api中获得Alle显示。Laravel Api Route名称空间失败
所以我routes/web.php
包含:
Route::resource('shows', 'ShowsController');
那是完美的,工作非常出色。
我routes/api.php
包含:
Route::resource('shows', 'ShowsController', ['only' => ['index']]);
路线/api/shows
应该给我的表演为JSON。 决定前端和API我把ShowsController
为Controllers/Api folder
的Controllers/Api/ShowsController
包含:
namespace App\Http\Controllers\Api;
use Illuminate\Http\Request;
use App\Show;
class ShowsController extends Controller
{
public function index(){
return response()
->json(Show::all())->withHeaders([
'Content-Type' => 'text/json',
'Access-Control-Allow-Origin' => '*'
]);
}
}
,我也改变了RouteServiceProvider
到:
protected function mapApiRoutes()
{
Route::group([
'middleware' => 'api',
'namespace' => 'Api',
'prefix' => 'api',
], function ($router) {
require base_path('routes/api.php');
});
}
但命令php artisan route:list
给了我一个例外:
[ReflectionException]
类的API \ ShowsController不存在
为什么laravel未在API目录查询所定义的ShowsController?
你有尝试:composer dump-autoload? – LorenzoBerti
@LorenzoBerti是的,我做过。 – rob