如何在全球范围内忽略具有恢复响应的 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 字段?的主要内容,如果未能解决你的问题,请参考以下文章