如何在spring中隐藏对象的JSON字段

时间:2018-05-17 23:09:13

标签: json spring

我在春天有一个对象,我想在使用@响应体时隐藏字段,并在我想使用@responseentity返回时显示字段。

我在setter上尝试了@jsonignore,在getter上尝试了@jsonproperty ...它没有工作......

我试过@jsonproperty(access=Read.only)在我想隐藏的字段上......它不起作用......

我试过了@jsonignoreproperties ......它没有工作

有没有办法做到这一点......而不是创建2个对象

请帮忙......谢谢

2 个答案:

答案 0 :(得分:0)

您无法使用@responsebody隐藏对象中的字段,并使用@responseentity显示它。

如果您想使用HTTPResponse标头发送任何其他数据,那么我们可以使用@Responseentity。请参阅此link以查看这两个注释之间的区别。

要实际回答您的问题,我们可以创建自定义注释并在控制器中使用它来隐藏响应中的字段。请参考this Github项目实施

答案 1 :(得分:0)

您可以创建自定义序列化程序并直接与ObjectMapper一起使用,或使用@JsonSerialize将其应用于类,简短教程:http://www.baeldung.com/jackson-custom-serialization