Я запустил новый proyect с symfony3 и FOSRestBundle для REST API. Все работает так, как ожидалось, но у меня есть вопрос. У меня есть эти два действия на моем контроллере и конфигурация маршрутизатора:Symfony FOSRestBundle Действия Заказывайте
api_marcas_get_all_marca_paginated GET ANY ANY /api/marca/{limit}/{page}.{_format}
api_marcas_delete_remove_marca GET ANY ANY /api/marca/delete/{marcaid}.{_format}
Проблема заключается в том, что, когда я называю это (от Postman):
127.0.0.1:8000/api/marca/delete/105
другого действия (api_marcas_get_all_marca_paginated) отвечает ...
Да .. я знаю, что могу использовать метод DELETE http, и это сработало ... но ... Почему они сталкиваются?
Вот мои действия:
/**
* @Rest\Get("/marca/{limit}/{page}")
*/
public function getAllMarcaPaginatedAction(Request $request)
{... code here ...}
и
/**
* @Rest\Get("/marca/delete/{marcaid}")
*/
public function deleteRemoveMarcaAction(Request $request)
{ ... //code here... }
В таком порядке.
Я делаю что-то неправильно? Имеет ли какое-либо отношение к порядку действий? Спасибо ...
Спасибо за комментарий @dubrox. Есть ли у вас рекомендации избегать подобных проблем с маршрутом? –
Я только что обновил свой ответ, чтобы предложить использовать атрибут 'requirements', чтобы избежать этого столкновения шаблонов в целом. Но в вашем конкретном случае вы действительно должны избегать «GET» для удаления и, по крайней мере, использовать метод «POST», если вы действительно не хотите использовать стандарт HTTP DELETE. – dubrox