【发布时间】:2017-09-30 03:29:01
【问题描述】:
我有一个使用 Jackson 和 @RequestBody 注释的 Spring MVC 应用程序。
我在 POJO 中有一个字段,我不想让 Jackson 映射,所以我让 lombok 将 setter 访问级别设置为 NONE。
@NotNull
@Setter(AccessLevel.NONE)
private boolean enabled = false;
我试图通过配置为强制 Spring 的 ObjectMapper bean 仅使用 setter:
@Bean
@Primary
public ObjectMapper getObjectMapper() {
ObjectMapper mapper = new ObjectMapper();
mapper.setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.NONE);
return mapper;
}
我会假设如果没有设置器和字段的可见性,Jackson 不会映射“启用”字段...但是如果我发送一个启用设置为 true 的主体,它会映射它,
谁能告诉我还需要做什么?
谢谢
【问题讨论】:
-
你想防止字段从 json 反序列化和序列化吗?还是只是反序列化?
-
@Strelok 我只是想阻止它被反序列化,我仍然希望它返回响应我只是不希望用户对其进行任何控制。
标签: java json spring spring-mvc jackson