如何在全球范围内忽略具有恢复响应的 Null 字段?

Posted

技术标签:

【中文标题】如何在全球范围内忽略具有恢复响应的 Null 字段?【英文标题】:How globally ignore Null Fields with restesy response? 【发布时间】:2019-07-22 10:16:23 【问题描述】:

我使用 JBoss EAP 7.1 和 JAVA EE。我可以在所有归档的类下使用@JsonInclude(JsonInclude.Include.NON_NULL) 注释排除空字段作为响应。 确实存在在所有对象中排除全局(在所有项目中)空值的方法,这些对象作为响应返回,例如这里:

Response.status(Response.Status.OK).entity(objet).build()

【问题讨论】:

【参考方案1】:

您需要在您的应用中配置ObjectMapper 实例:

ObjectMapper mapper = new ObjectMapper();
mapper.setSerializationInclusion(Include.NON_NULL);

另见:

JBoss resteasy - Custom Jackson provider Resteasy jboss7 jackson configuration

【讨论】:

在 Java EE 应用程序中可以做到这一点吗?我那里没有春天。并且无需添加新罐子。未找到 ResteasyJacksonProvider。 Spring 在那里不需要。第二个链接显示了如何做到这一点。也看看Custom ObjectMapper with Jersey 2.2 and Jackson 2.1,Jersey Jackson and codehaus vs. fasterxml,Jersey 2.6 Jackson provider registering

以上是关于如何在全球范围内忽略具有恢复响应的 Null 字段?的主要内容,如果未能解决你的问题,请参考以下文章

在 postgres 中,如何从事件日志类型表(具有时间戳)中获取特定时间范围内字段的总和(或汇总)

如何根据模型中 2 个字段范围内的变量查询行

如何忽略 JSON 响应中列表中的特定字段

如何使用我的 IP 地址使 localhost:3000 在全球范围内可用?

将 Spring REST 端点配置为在序列化响应对象中的日期字段时忽略附加时区

如何使指令和组件在全球范围内可用