quiero compartir información sobre todas las anotaciones.
@Get, @Post, @Put, @Delete, @Head, @Patch son atajos para @Route + @method, en lugar de ellos usando tanto, sólo se puede especificar uno, por ejemplo:
/**
* @Get("/hello/{id}")
*
*/
public function helloAction($id)
{
return array();
}
Información sobre @View es en el doc: https://github.com/FriendsOfSymfony/FOSRestBundle/blob/master/Resources/doc/3-listener-support.md
@View //Guess template name
@View("AcmeHelloBundle::layout.html.twig") //Load Resources/views/layout.html.twig
@View("AcmeHelloBundle::layout.html.twig", templateVar="test") // if returned data doesn't
// have a key (e.g. return array("string", 5) instead of default variable 'data',
// it's placed inside 'test' variable inside template.
@View(statusCode=204) // set HTTP header's status code
Nombre prefijo puede añadirse al archivo routing.yml o como una anotación. También se documenta - https://github.com/FriendsOfSymfony/FOSRestBundle/blob/master/Resources/doc/6-automatic-route-generation_multiple-restful-controllers.md:
A veces, rutas denominación automática dará lugar a nombres de ruta colisiones, por lo colecciones ruta RestBundle ofrece una name_prefix (nombre-prefijo para xml/yml y @NamePrefix para anotaciones) parámetro :
#src/Acme/HelloBundle/Resources/config/users_routes.yml comments:
type: rest
resource: "@AcmeHelloBundle\Controller\CommentsController"
name_prefix: api_
Con esta configuración, el nombre de ruta se convertiría en: api_vote_user_comment
@Prefix es especialmente útil cuando tiene recurso primario y necesita agregar prefijo antes del primer hijo. Ejemplo:
padres:
class UsersController extends Controller
{
public function getUserAction($slug)
{} // "get_user" [GET] /users/{slug}
}
niño:
class CommentsController extends Controller
{
public function getCommentAction($slug, $id)
{} // "get_user_comment" [GET]
}
Ahora el getCommentAction acción corresponde con /usuarios/babosa {}/comentarios/{id} camino.
Con @Prefix ("some_prefix") generada ruta será/usuarios/babosa {}/some_prefix/comentarios/{id}
Y mediante el uso de la @NoRoute anotación nivel de método, la vía no se generará