В моем приложении я определил область для вызовов API.
Router::scope('/api', function (RouteBuilder $routes) {
$routes->setExtensions(['json']);
$routes->resources('Invoices');
});
Я хочу обслуживать /api/invoices
и /invoices
из одного и того же метода контроллера.
В моем default.ctp
layout У меня есть следующая ссылка.
<?= $this->Html->link(
'<i class="fi-book"> ' . __('Invoices') . '</i>',
[
'plugin' => false,
'prefix' => false,
'controller' => 'invoices',
'action' => 'index'
],
['escape' => false]
) ?>
И это дает мне /api/invoices
, что не так, поскольку мне не нужен префикс /api
здесь.
Однако следующая ссылка:
<?= $this->Html->link(
'<i class="fi-plus"> ' . __('New Invoice') . '</i>',
[
'plugin' => false,
'prefix' => false,
'controller' => 'invoices',
'action' => 'add'
],
['escape' => false]
) ?>
генерирует /invoices/add
. Теперь есть префикс /api
, каково желаемое поведение.
Что мне не хватает?