我在 JBoss 7.1.1 的 WAR 存档中部署了 Jax-rs 端点。在它的 JSON 响应中,我不希望null
包含我的字段名称,所以我放@JsonSerialize
了它。
class MyResponse {
private Long id;
@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
private String name;
private List<String> addresses;
// getters and setters
}
我pom.xml
的有以下
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
<version>2.3.2.Final</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson-provider</artifactId>
<version>2.3.2.Final</version>
<scope>provided</scope>
</dependency>
当scope
forresteasy-jackson-provider
设置为时,provided
它会忽略注释并null
在 JSON 响应中返回。但是,当我scope
从 Maven 依赖项中删除时-它可以工作。
从这里的页面https://docs.jboss.org/author/display/AS71/Implicit+module+dependencies+for+deployments如果发现 Jax-RS 部署,JBoss 应该自动加载此模块。
现在我不知道这是否是一个错误,我是否真的应该包含这个依赖项(不保留它provided
)。或者也许我在那里做错了什么?