我想共享有關所有註釋的信息。
@Get,@Post,@Put,@Delete,@Head,@Patch是@Route + @method快捷方式,而不是用他們兩個,你可以指定一個,例如:
/**
* @Get("/hello/{id}")
*
*/
public function helloAction($id)
{
return array();
}
信息約@View爲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
名稱前綴可以添加到任何文件routing.yml中或作爲註解。它也記錄 - https://github.com/FriendsOfSymfony/FOSRestBundle/blob/master/Resources/doc/6-automatic-route-generation_multiple-restful-controllers.md:
有時候,路由自動命名將導致路由名稱衝突,所以 RestBundle路線集合提供了一個name_prefix(名稱前綴 XML /陽明和@NamePrefix註解)參數:
#src/Acme/HelloBundle/Resources/config/users_routes.yml comments:
type: rest
resource: "@AcmeHelloBundle\Controller\CommentsController"
name_prefix: api_
利用這種配置,路由名稱會變成: api_vote_user_comment
@Prefix當您有父資源並且需要在子代之前添加前綴時特別有用。 例子:
父:
class UsersController extends Controller
{
public function getUserAction($slug)
{} // "get_user" [GET] /users/{slug}
}
孩子:
class CommentsController extends Controller
{
public function getCommentAction($slug, $id)
{} // "get_user_comment" [GET]
}
現在行動getCommentAction與/用戶/ {}塞相當於/評論/(編號)路徑。
隨着@prefix( 「some_prefix」)生成的路徑將是/用戶/ {段塞}/some_prefix /評論/ {ID}
,並通過使用所述@NoRoute方法級註釋,路線將不會生成。