Я использую Cake 3.5.x и плагин CRUD от Friends of Cake.У меня проблема с некоторыми маршрутами RESTful, которые не маршрутизируются правильно.Например, этот маршрут:
POST foobar.json
- должен вызвать действие add контроллера foobar.Вместо этого он вызывает действие index.
У меня настроена маршрутизация json с помощью:
$routes->setExtensions(['json', 'xml', 'ajax']);
Плагин прослушивает и настраивает:
public function initialize() {
parent::initialize();
$this->loadComponent(
'Crud.Crud', [
'actions' => [
'Crud.Add',
],
'listeners' => ['Crud.Api'],
],
'RequestHandler'
);
$this->Crud->config(['listeners.api.exceptionRenderer' => 'App\Error\ExceptionRenderer']);
$this->Crud->addListener('relatedModels', 'Crud.RelatedModels');
}
JSON маршрутизация работает, потому что, если я добавляю Index в конфигурацию CRUD, он возвращает объект json.Но почему вызывается index, когда это должен быть метод add.
Я пропустил шаг, требуется ли что-либо еще для сопоставления:
foobar.json -> foobar / add