【问题标题】:FOS REST Bundle: funny thing with a "persons" resourceFOS REST Bundle:“人员”资源的有趣之处
【发布时间】:2017-08-28 11:09:42
【问题描述】:

我正在使用 FOS Rest bundle 为“persons”资源创建一个 REST 资源,基本上这些 url 是:

  • 列表:GET /api/persons
  • 添加:POST /api/persons
  • 获取单身人士:GET /api/persons/{id}
  • 修改:PUT /api/persons/{id}
  • 删除:DELETE /api/persons/{id}

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

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

有趣的部分来了,而不是 /api/persons 用于获取单、放置、发布和删除 FOS Rest bundle 计算人员的复数而不是人员,并且 URL 最终是:

  • 列表:GET /api/persons
  • 添加:POST /api/people
  • 获取单身人士:GET /api/people/{id}
  • 修改:PUT /api/people/{id}
  • 删除:删除 /api/people/{id}

我在代码中搜索了一些人/人,但我一无所获,所以我猜它一定与某些 php 复数函数有关。

您知道是否有任何方法可以强制网址保持为“人”?我认为人们在这里没有太多意义

【问题讨论】:

  • 看看here - 路由默认是复数的,所以这可能是你的“问题”。

标签: php rest symfony fosrestbundle


【解决方案1】:

您可以使用以下命令强制 url:

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

对于 GET url,它将是:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-04
    • 2015-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-13
    • 1970-01-01
    相关资源
    最近更新 更多