如何使用dropwizard仅使用set字段发送响应

时间:2016-04-18 13:50:22

标签: json jackson dropwizard

我使用dropwizard,当我发送回复时,Jackson将我的响应类转换为响应JSON。

问题是POJO类的一个字段并不总是被设置,当它没有被设置时它在响应JSON中显示空值。

someField:null

但我想显示此字段,以防它已设置。 我该怎么办?也许有一些注释。

2 个答案:

答案 0 :(得分:1)

是的,有办法做到这一点。在您级别的POJO中添加

@JsonInclude(Include.NON_NULL) //or Include.NON_EMPTY
public static class Request {
  // ...
}

您也可以使用

全局执行此操作
mapper.setSerializationInclusion(Include.NON_NULL);

以下是参考:http://fasterxml.github.io/jackson-annotations/javadoc/2.0.0/com/fasterxml/jackson/annotation/JsonInclude.Include.html

答案 1 :(得分:0)

所以,正如我发现杰克逊有一个允许你排除字段的注释。实际上它不排除字段,但在某些情况下包括它你可以选择。 答案是:@JsonInclude(Include.NON_NULL)。它仅包括此字段,如果它不为空。