I'm doing something stupid here but cant spot it..
My namespace looks correct, it matches directory structure, and the name printed in error matches both.
errors": [
{
"status": "500",
"code": "unknown",
"detail": "ReflectionException: Class Webbinaro\\AdvCalendar\\Api\\Controllers\\EventsShowController does not exist in /Users/ewebb/Development/Flarum-dev/vendor/illuminate/container/Container.php
extend.php:
namespace Webbinaro\AdvCalendar;
use Flarum\Extend;
use Webbinaro\AdvCalendar\Api\Controllers;
return [
(new Extend\Frontend('forum'))
->js(__DIR__.'/js/dist/forum.js')
->css(__DIR__.'/resources/less/forum.less'),
(new Extend\Frontend('admin'))
->js(__DIR__.'/js/dist/admin.js')
->css(__DIR__.'/resources/less/admin.less'),
(new Extend\Routes('api'))
->get('/events','events.index', Controllers\EventsListController::class)
->get('/events/{id}','events.show', Controllers\EventsShowController::class)
->post('/events','events.create', Controllers\EventsCreateController::class),
];
src/Api/Controllers/EventsShowController.php
namespace Webbinaro\AdvCalendar\Api\Controllers;
use Flarum\Api\Controller\AbstractShowController;
use Psr\Http\Message\ServerRequestInterface as Request;
use Tobscure\JsonApi\Document;
class EventsShowController extends AbstractShowController
{
public $serializer = EventSerializer::class;
protected function data(Request $request, Document $document)
{
$id = array_get($request->getQueryParams(), 'id');
return Event::findOrFail($id);
}
}