Sulu:自定义实体类型 - FOS rest api 路由丢失

问题描述

我按照 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...)手动创建一个方法还是应该自动创建它们?如果它们应该自动创建,那为什么我看不到这些路由?

解决方法

没有任何操作是自动生成的。如果您遵循有关扩展管理员的文档,您可能只实现了 cgetAction() 方法,对吗?因此只注册了 app.get_events 路由。一旦你实施例如postAction(),将为您注册 app.post_event 路线。但是您总是必须自己为您的自定义实体实现 crud 功能,Sulu 不能为您做到这一点,因为这完全取决于您,您的自定义实体的存储方式(也可以作为文件存储在您的文件系统或作为elasticsearch中的文档)

通常,查看 Sulu 的内部包(SuluTagBundle 非常简单)或 github 上的其他资源(例如 Sulu WorkshopSulu Demo)会很有帮助,以了解如何这样的事情正在奏效。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...