如何根据环境禁用响应字段

时间:2015-09-17 05:50:03

标签: java spring rest jackson spring-profiles

上下文: Spring REST Web服务,其中使用POJO发送响应(例如:Output.java) 现在,Output.java包含2个字段 -

@JsonProperty("One")
private String one;
@JsonProperty("Two")
private String two;

所以在回复中我得到了这两个字段。

问题: 如何在我的PROD环境中禁用响应中的字段属性“两个”?

2 个答案:

答案 0 :(得分:0)

使用JsonSerialize.Inclusion.NON_NULL

声明您的Output.java
@JsonSerialize(
include=JsonSerialize.Inclusion.NON_NULL)
public class Output {

}

如果你不填充财产"两个"在Output.java中,此属性不会出现在您的最终休息响应中。

答案 1 :(得分:0)

您可以为类定义自定义JsonSerializer,并检查它是否是序列化程序中的PROD并跳过该字段。查看示例here