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

如何在spring中隐藏对象的JSON字段,json,spring,Json,Spring,我在spring中有一个对象,我想在使用@responsebody时隐藏字段,并在我想使用@responseentity返回时显示字段 我在setter上尝试了@jsonignore,在getter上尝试了@jsonproperty。。。它不起作用 我在我想隐藏的字段上尝试了@jsonproperty(access=Read.only),但无效 我尝试了@jsonignoreproperties。。。它不起作用 有没有办法做到这一点…而不是创建两个对象 请帮忙。。。谢谢您不能使用@Respons

我在spring中有一个对象,我想在使用
@
responsebody时隐藏字段,并在我想使用
@responseentity
返回时显示字段

我在setter上尝试了
@jsonignore
,在getter上尝试了
@jsonproperty
。。。它不起作用

我在我想隐藏的字段上尝试了
@jsonproperty(access=Read.only)
,但无效

我尝试了
@jsonignoreproperties
。。。它不起作用

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


请帮忙。。。谢谢

您不能使用@ResponseBy隐藏对象中的字段,也不能使用@responseentity显示它

如果您想使用HTTPResponse头发送任何附加数据,那么我们可以使用@Responseentity。请参阅此文档以查看这两个注释之间的差异


要真正回答您的问题,我们可以创建自定义注释,并在控制器中使用它来隐藏响应中的字段。参考Github project以获得实现

您可以创建一个自定义序列化程序,并直接与ObjectMapper一起使用,或者使用@JsonSerialize将其应用于类,简短教程:

不确定您是否可以仅使用这些注释,但值得的是,您可以执行相反的操作(从反序列化中排除属性),如中所述