Java SpringController中的自定义json返回

Java SpringController中的自定义json返回,java,json,spring-boot,controller,Java,Json,Spring Boot,Controller,如何在不同的springboot控制器方法中使用不同的json序列化? 假设我有 class Guy{ private String name; private int age; private List<String> hobbies; } 在我使用的控制器中: ObjectMapper mapper = new ObjectMapper(); mapper.disable(MapperFeature.DEFAULT_VIEW_INCLUSION); return m

如何在不同的springboot控制器方法中使用不同的json序列化? 假设我有

class Guy{
private String name;
private int age;
private List<String> hobbies;
}
在我使用的控制器中:

  ObjectMapper mapper = new ObjectMapper();
  mapper.disable(MapperFeature.DEFAULT_VIEW_INCLUSION);
  return mapper.writerWithView(Views.MyTestView.class)
               .writeValueAsString(guy);
编辑:它现在是这样工作的

您可以为每个条件使用并有一个mixin,指定哪些属性将被忽略/添加到json。

使用,这里您可以根据需要简单地定义接口


有关工作示例,请访问。

您可以使用Spring支持Jackson的Json视图,或者(假设您使用的是Spring Data JPA)上面提到的Spring数据投影。我尝试了这里描述的Json视图()但是这被忽略了,它仍然序列化了所有的属性。很明显,你当时使用的不正确。它现在可以工作了:我忘了禁用默认的视图包含
public class Views {
    public class MyTestView{}
}

  ObjectMapper mapper = new ObjectMapper();
  mapper.disable(MapperFeature.DEFAULT_VIEW_INCLUSION);
  return mapper.writerWithView(Views.MyTestView.class)
               .writeValueAsString(guy);