gpt4 book ai didi

java - SpringController 中的自定义 json 返回

转载 作者:行者123 更新时间:2023-12-01 19:30:20 24 4
gpt4 key购买 nike

如何在不同的springboot Controller 方法中使用不同的json序列化?可以说我有

class Guy{
private String name;
private int age;
private List<String> hobbies;
}

在某些 Controller 方法中,我只想以 json 形式返回 Guy 的名字。在某些方法中,我想以 json 形式返回姓名和年龄。在某些方法中,我只想将列表返回为 json。在 POJO 中注释属性没有意义,因为每个方法都有不同的返回规范...

第一次尝试是使用@JsonView注释

class Guy{
@JsonView(Views.MyTestView.class)
private String name;
@JsonView(Views.MyTestView.class)
private int age;
private List<String> hobbies;
}

我的观点如下:

public class Views {
public class MyTestView{}
}

在我使用的 Controller 中:

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

编辑:它现在像这样工作

最佳答案

您可以使用Jackson Mixins并为每个条件指定一个 mixin,指定要忽略/添加到 json 的属性。

关于java - SpringController 中的自定义 json 返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59264929/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com