我有一个关于API平台自定义路由功能的问题。当尝试使用DELETE方法实现自定义路由时,事件系统会为http请求中的对象触发(由param转换器找到):
* @ApiResource(
* attributes={
* "normalization_context": {
* },
* "denormalization_context": {
* },
* },
* itemOperations={
* },
* collectionOperations={
* "customObjectRemove": {
* "method": "DELETE",
* "path": "/objects/{id}/custom_remove",
* "controller": CustomObjectRemoveController::class,
所以,即使我已经在控制器中编写了自己的逻辑,我的实体也总是在api平台事件系统中被触发删除。我该如何防止这种行为呢?
2条答案
按热度按时间wyyhbhjk1#
您可以实现一个实现EventSubscriberInterface的事件订阅者:
ni65a41a2#
我知道这个问题是相当古老的,但它出现在谷歌结果。
您可以通过添加
write: false
(禁用端点的自动删除和刷新功能)将路由配置为不删除实体:注意:您需要在事件订阅者中添加
flush
,否则将不保存更改。