我已成功完成this tutorial以了解如何使用Symfony2实现REST API。
在本教程中,生成的REST控制器中每个操作路由的路径采用以下格式:
/api/posts/…
我的问题是; '帖子'的方式和位置部分路径定义?
感谢任何帮助。
答案 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 {
[..]