Я использую маршруты по аннотациям, и все в порядке, за исключением одного конкретного маршрута, в котором я просто не вижу проблемы.
NotFoundHttpException No route found for "PUT /responder/questionario/1/questao/6/pessoa/2/resposta/11"
Маршрут проложен следующим образом:
//Class route
/**
* @Route("/responder")
*/
//Method route
/**
* @Route("/questionario/{id}/questao/{qId}/pessoa/{pId}/resposta/{$rId}", name = "api_responder_questionario_questao_resposta", methods = "PUT")
*/
Как видите, это запрос PUT, единственный, существующий на данный момент во всей системе.
Отладка маршрута возвращает этот маршрут (последний в списке):
--------------------------------------------- -------- -------- ------ -------------------------------------------------------------------------
Name Method Scheme Host Path
--------------------------------------------- -------- -------- ------ -------------------------------------------------------------------------
api_cargo_new POST ANY ANY /cargo/novo
api_cargo_edit POST ANY ANY /cargo/{id}/editar
api_cargo_index GET ANY ANY /cargo/
api_cargo_get GET ANY ANY /cargo/{id}
api_empresa_new POST ANY ANY /empresa/novo
api_empresa_edit POST ANY ANY /empresa/{id}/editar
api_empresa_index GET ANY ANY /empresa/
api_empresa_get GET ANY ANY /empresa/{id}
api_frequencia_new POST ANY ANY /frequencia/novo
api_frequencia_edit POST ANY ANY /frequencia/{id}/editar
api_frequencia_index GET ANY ANY /frequencia/
api_frequencia_get GET ANY ANY /frequencia/{id}
api_perfilAcesso_new POST ANY ANY /perfilAcesso/novo
api_perfilAcesso_edit POST ANY ANY /perfilAcesso/{id}/editar
api_perfilAcesso_index GET ANY ANY /perfilAcesso/
api_perfilAcesso_get GET ANY ANY /perfilAcesso/{id}
api_pessoa_new POST ANY ANY /pessoa/novo
api_pessoa_edit POST ANY ANY /pessoa/{id}/editar
api_pessoa_index GET ANY ANY /pessoa/
api_pessoa_get GET ANY ANY /pessoa/{id}
api_questaoTipo_new POST ANY ANY /questao/tipo/novo
api_questaoTipo_edit POST ANY ANY /questao/tipo/{id}/editar
api_questaoTipo_index GET ANY ANY /questao/tipo/
api_questaoTipo_get GET ANY ANY /questao/tipo/{id}
api_questionario_new POST ANY ANY /questionario/novo
api_questionario_edit POST ANY ANY /questionario/{id}/editar
api_questionario_index GET ANY ANY /questionario/
api_questionario_get GET ANY ANY /questionario/{id}
api_questionario_questao_new POST ANY ANY /questionario/{id}/questao/novo
api_questionario_questao_edit POST ANY ANY /questionario/{id}/questao/{qId}
api_recompensa_new POST ANY ANY /recompensa/novo
api_recompensa_edit POST ANY ANY /recompensa/{id}/editar
api_recompensa_index GET ANY ANY /recompensa/
api_recompensa_get GET ANY ANY /recompensa/{id}
api_responder_index GET ANY ANY /responder/
api_responder_questionario_questao_resposta PUT ANY ANY /responder/questionario/{id}/questao/{qId}/pessoa/{pId}/resposta/{$rId}
Действия, которые я уже сделал, это очистка кеша, изменение приоритета этого запроса на контроллере, а позже я создал контроллер для этого случая, всегда очищая кеш. Первоначально этот запрос был GET, но я изменил его на PUT, чтобы сделать его более эксклюзивным и простым для отладки.
Спасибо @Cid, вы правы насчет опечатки, я неправильно ввел полное имя переменной. Насчет маршрута, он был заявлен в классе, я его добавил в вопрос.
Разве это не должно быть methods = {"PUT"}?
@Труба не обязательно.
Вы удалили $, как говорит @Cid? (Пожалуйста, обновите код)
@Pipe, да, я сделал. Это сработало, как я сказал в ответ на комментарий Сида, спасибо!
@Cid не стесняйтесь публиковать ответ.
@FelipeChagas не нужно, на самом деле это не вопрос, так как это скорее опечатка, чем реальная проблема.
@ Сид Понял! Я обновлю вопрос и закрою его, спасибо.






Как ответил @Cid в комментариях: в моем коде была опечатка:
С ошибкой:
/**
* @Route("/questionario/{id}/questao/{qId}/pessoa/{pId}/resposta/{$rId}", name = "api_responder_questionario_questao_resposta", methods = "PUT")
*/
Правильный:
/**
* @Route("/questionario/{id}/questao/{qId}/pessoa/{pId}/resposta/{rId}", name = "api_responder_questionario_questao_resposta", methods = "PUT")
*/
Когда у тебя "старый" проект, все уже правильно настроено (много рабочих маршрутов), и вроде бы все на месте, то должно было быть как-то так. Спасибо за подсказку.
последний маршрут -
/responder/questionario/{id}/questao/{qId}/pessoa/{pId}/resposta/{$rId}, вы уверены в$для последнего параметра?