Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/11/2019, 18:24
Elalux
 
Fecha de Ingreso: enero-2002
Mensajes: 4.159
Antigüedad: 22 años, 3 meses
Puntos: 22
Mostrar valor por default de una ruta en el URL

Que tal, ando iniciándome en symfony y tengo esta situación.

Leo en la documentación que es posible en una ruta de anotación forzar a que el URL incluya el parámetro por default del método coincidente, según leí basta con poner el carácter ! antes del nombre del parámetro: /blog/{!page}

Tengo el siguiente código donde busco probar esta característica (tomado de la documentación de Symfony)

Cita:
// src/Controller/BlogController.php
namespace App\Controller;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;

class BlogController
{
/**
* @Route("/blog/{page}", name="blog_list")
*/
public function list(int $page = 1)
{
return new Response(
'<html></body>Lucky number: '.$page.'</body></html>'
);
}

}
Así como está funciona sin problemas, si escribo en mi navegador:

Imprime el valor, pero cuando intento forzar a que el URL muestre el valor por defecto haciendo justamente lo que menciona la documentación, poniéndole ! antes del nombre del parámetro en la ruta {!page} quedando a ruta de la siguiente forma:

Cita:
/**
* @Route("/blog/{!page}", name="blog_list")
*/
Marca el siguiente error:

No route found for "GET /blog"

NO se si estoy leyendo mal la documentación pero no ubico que estoy haciendo mal, agradezco cualquier ayuda.