找不到 Symfony 4 路由
Symfony 4 route not found
我通过注释使用路由,一切都很好,除了这条特定的路由,我根本看不出问题。
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 请求,并且是迄今为止整个系统中唯一存在的请求。
The route debug returns 该路由(列表中的最后一个):
--------------------------------------------- -------- -------- ------ -------------------------------------------------------------------------
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 在评论中回答的那样:我的代码有错别字:
有错误:
/**
* @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")
*/
我通过注释使用路由,一切都很好,除了这条特定的路由,我根本看不出问题。
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 请求,并且是迄今为止整个系统中唯一存在的请求。
The route debug returns 该路由(列表中的最后一个):
--------------------------------------------- -------- -------- ------ -------------------------------------------------------------------------
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 在评论中回答的那样:我的代码有错别字:
有错误:
/**
* @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")
*/