如何将 Java 对象的所有字段包含到 JSON 响应(视图)中而不指定@JsonView
在该 Java 对象的每个字段上?
编辑:我需要这个来实现而不使用另一个外部库。
这是一个常见问题@JsonView
。该注释仅适用于方法和属性,因此您不能只注释整个类并包含所有属性。
我假设您将其与 Spring 一起使用。该行为是由于 Spring 选择默认在 ObjectMapper 中禁用所有属性的包含。正因为如此,只有@JsonView
带注释的属性将包含在内,而其他属性则不会。
您可以通过设置来更改此设置MapperFeature.DEFAULT_VIEW_INCLUSION
to true
。像这样:
普通Java:
mapper.configure(MapperFeature.DEFAULT_VIEW_INCLUSION, true);
Spring Boot(将其添加到 application.properties):
spring.jackson.mapper.default-view-inclusion=true
这样,默认情况下,所有属性都将在 JSON 序列化过程中包含在内,您可以使用@JsonInclude
和其他 Jackson 注释来控制包含和排除。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)