【发布时间】:2019-11-09 05:13:23
【问题描述】:
SDR 中的投影非常适合控制 json 输出。但是 REST 调用中的输入和参数呢?
当我实现自己的控制器时,我能够通过任一方式为输入(创建/更新)处理自定义“投影”
- 创建与完整实体不同的自定义 DTO
- 或者我可以只使用@JsonView 并在途中省略某些字段
这两种方法都不适用于 SDR,因为您不编写控制器。这样做的方法是什么?
【问题讨论】:
-
我有一种不好的感觉,这是一个 XY 问题。原来的问题是什么?为什么需要这个功能?
-
什么意思?假设我只想让客户端更新实体的 5 个字段中的 3 个。您如何在 SDR 中表示这一点?
-
将
@JsonProperty(access = Access.READ_ONLY)添加到其他两个字段,并拒绝PUT请求。所以当客户端发送 PATCH 请求时,这两个字段将被忽略 -
不是只读字段。您可以在创建时写入但不能更新。
-
在这种情况下,解决方案会更混乱,但仍然比创建“投影”更容易。我会尽快添加答案
标签: java spring-boot spring-data-rest