Skip to content

Custom Controller OpenAPI Documentation #968

Open
@matjones

Description

@matjones

I had an expectation that if I created a custom controller, it would automatically get picked up in OpenAPI documentation. However I don't see my custom route listed when viewing the openapi route. Is there something I'm missing, or do they just not get documented.

Here is an example of my route:

use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Tqdev\PhpCrudApi\Cache\Cache;
use Tqdev\PhpCrudApi\Column\ReflectionService;
use Tqdev\PhpCrudApi\Controller\Responder;
use Tqdev\PhpCrudApi\Database\GenericDB;
use Tqdev\PhpCrudApi\Middleware\Router\Router;

class CategoryDropdownController
{

	private $responder;

	public function __construct(Router $router, Responder $responder, GenericDB $db, ReflectionService $reflection, Cache $cache)
	{
		$router->register('GET', '/categorylist', array($this, 'getMyCustomQuery'));
		$this->responder = $responder;
		$this->db = $db;
	}

	public function getMyCustomQuery(ServerRequestInterface $request): ResponseInterface
	{
		$sql = "SELECT * from `categories`"; // Query is simplified for this example
		$pdo_statement = $this->db->pdo()->query($sql);
		$result = $pdo_statement->fetchAll();
		return $this->responder->success(['results' => $result]);
	}
}

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions