我按照 Sulu 文档将自定义实体类型添加到 Sulu 并在这一点上:
https://docs.sulu.io/en/2.2/book/extend-admin.html#configure-resources
调用时:bin/adminconsole debug:router | grep event
我应该得到完整的rest api的各种路由。
然而,当我这样称呼它时,我只列出了一条路线:
app.get_events GET ANY ANY /admin/api/events.{_format}
那里的文档说“如果你也已经创建了其他操作,..”,但是管理 EventController 类再次具有该注释:
/**
* @RouteResource("event")
*/
.. 所以我不确定我应该为每个休息操作(GET、PUT、DELETE...)手动创建一个方法还是应该自动创建它们?如果它们应该自动创建,那为什么我看不到这些路由?
答案 0 :(得分:0)
没有任何操作是自动生成的。如果您遵循有关扩展管理员的文档,您可能只实现了 cgetAction()
方法,对吗?因此只注册了 app.get_events
路由。一旦你实施例如postAction()
,将为您注册 app.post_event
路线。但是您总是必须自己为您的自定义实体实现 crud 功能,Sulu 不能为您做到这一点,因为这完全取决于您,您的自定义实体的存储方式(也可以作为文件存储在您的文件系统或作为elasticsearch中的文档)
通常,查看 Sulu 的内部包(SuluTagBundle 非常简单)或 github 上的其他资源(例如 Sulu Workshop 和 Sulu Demo)会很有帮助,以了解如何这样的事情正在奏效。