2017-04-03 91 views
0

我使用FOS休息捆绑到一个“人”的资源创建一个REST资源有趣的事情,基本上网址的用意是:FOS REST捆绑:用“人”的资源

  • 列表: GET/API /人
  • 地址:POST/API /人
  • 获取单个人:GET/API /人/(编号)
  • 修改:PUT/API /人/(编号)
  • 删除: DELETE/api/persons/{id}

所以我定义我的控制器方法如下:

public function cgetPersonsAction() # List 
public function cgetPersonAction(...) # Get single 
public function cdeletePersonAction(...) # Delete 
#etc... 

这里来的有趣部分,而不是为得到单,PUT,POST和删除FOS休息包/ API /人的计算复数人到人,而不是人,并且URL中结束了:

  • 列表:GET/API /人
  • 地址:POST/API /人
  • 获取单个人:GET/API/PEO P-LE /(编号)
  • 修改:PUT/API /人/(编号)
  • 删除:删除/ API /人/(编号)

我搜索找也许有些人/人的代码在捆绑,但我什么也没找到,所以我想它必须与一些PHP复数功能相关。

你知道是否有任何方法可以强制url保持“人”?我认为人们不会用在这里做

+1

看看[这里]( http://symfony.com/doc/current/bundles/FOSRestBundle/5-automatic-route-generation_single-restful-controller.html#changing-pluralization-in-generated-routes) - 路由默认情况下已经复数化,这就是可能是你的“问题”。 – LBA

回答

1

您可以强制URL太大的意义:

FOS\RestBundle\Controller\Annotations\Get; ...\Post; ,... 

对于此网址将是:

@Get("api/whatever/{id}")