我有一个通过Spring Data Rest暴露的API,它在大多数情况下是只读的,但它允许通过PATCH请求更新一些属性。
在全球范围内是否有任何(我假设Jackson)配置基本上会使实体只读,除非特定属性以某种方式注释。
我熟悉@JsonProperty(access = Access.READ_ONLY)
杰克逊注释但是希望避免必须注释所有只读属性。
例如,给定下面的类,只有明确注释的字段才是可写的。默认情况下,所有其他字段都是可读的:
public class Thing{
private String fieldOne;
@JsonProperty(access = Access.READ_WRITE)
private String fieldTwo;
private String fieldThree;
// a lot of other properties
}
任何全局配置失败,是否可以在类级别应用任何内容?
答案 0 :(得分:0)
我不知道如何将类中的所有属性全局设置为只读。从FaserXML的2.6+版开始,您可以使用以下注释来至少定义您将忽略的属性集,并且仅允许序列化。以下注释将在类级别使用:
@JsonIgnoreProperties(value={ "fieldOne", "fieldThree"}, allowGetters=true)
这并不是你想要的,但可以说使编码更容易。