#php #laravel #laravel-8
Вопрос:
У меня есть один контроллер действий, который находится в AppHttpControllersApiTestController; не пространство имен по умолчанию.
Я пытался вызвать этот метод, но он выдает мне эту ошибку:
«сообщение»: «Недопустимое действие маршрута: [ApiПриложениеHttpКонтроллерыApiTestController].», «исключение»: «Неожиданное исключение», «файл»: «/Users/macbook/Projects/laravel/digitalorganigrama_hr/vendor/laravel/framework/src/Illuminate/Routing/RouteAction.php»,‘
….
ApiПриложениеHttpКонтроллерыApiТестКонтроллер
was not found: Controller class
ApiПриложениеHttpКонтроллерыApifor one of your routes was not found. Did you mean
Приложение ТестконтроллераHttpКонтроллерыApiТестКонтроллер`?
В route/api.php у меня есть:
Route::get('/test', ContractNormController::class)
;
TestController.php :
<?php
namespace AppHttpControllersApi;
use AppHttpControllersController;
class TestController extends Controller
{
public function __invoke()
{
return 'test';
}
}
Как я могу это решить?
Комментарии:
1. Вот ваш ответ: laraveldaily.com/invokable-controllers-with-one-specific-action
2. Я знаю, как это сделать. Но я получаю ошибку, когда мой контроллер не находится в пространстве имен по умолчанию.
3. Я решил эту проблему. Проблема заключалась в том, что у меня был ненужный маршрут::группа([‘пространство имен’ => ‘Api’],…) в api.php. Пространство имен Api по умолчанию в api.php.