在这个Symfony2 REST API教程中,' posts'路径中定义的路径部分?

时间:2014-10-16 11:08:36

标签: php rest symfony routing

我已成功完成this tutorial以了解如何使用Symfony2实现REST API。

在本教程中,生成的REST控制器中每个操作路由的路径采用以下格式:

/api/posts/…

我的问题是; '帖子'的方式和位置部分路径定义?

感谢任何帮助。

3 个答案:

答案 0 :(得分:1)

应该在您的控制器中指定(如果使用注释,否则在您的包的路由文件中),这是由下面的命令行脚本自动生成的。

php app/console voryx:generate:rest --entity="AcmeDemoBundle:Post"

似乎将生成路由的实体名称复数化。从捆绑中发布您的控制器和路由文件以进行确认。

答案 1 :(得分:1)

我刚刚发现这是由FOS \ RestBundle使用隐式资源名称定义定义的,它查看控制器名称并使其成为复数(显然必须以单数形式开始才能使其工作!)。

在本教程中,控制器名称通过@ResourceRoute(" Post")注释被覆盖,因此使用它来代替实际的控制器名称。

我能够根据FOSRestBundle documentation中的信息来解决这个问题。

答案 2 :(得分:0)

来自Git上的文档:

api_posts:
    type:     rest
    resource: "@AcmeDemoBundle/Controller/PostController.php"
    prefix: /api

..我会说他们使用标准控制器注释为实体添加前缀:

/**
 * Post controller.
 *
 * @Route("/posts")
 */
class PostController extends Controller {
[..]