Java Spring Web序列化子类的属性

Java Spring Web序列化子类的属性,java,spring,rest,inheritance,Java,Spring,Rest,Inheritance,我有一个Maven Java Spring Rest项目,我想在其中完成这项工作 @RestController @RequestMapping("/person") public class PersonController { @GetMapping public List<Person> getPerson(){ List<Person> persons = new ArrayList<>(); persons.add(new

我有一个Maven Java Spring Rest项目,我想在其中完成这项工作

@RestController
@RequestMapping("/person")
public class PersonController {
  @GetMapping
  public List<Person> getPerson(){

    List<Person> persons = new ArrayList<>();

    persons.add(new Dev(1, "Java")); //Let's say I have the constructor
    persons.add(new DevOps(2, "Linux")); //Let's say I have the constructor

    return implants;
  }
}

  public class Person{ public int id;}

  public class Dev extends Person{ public string lang;}

  public class DevOps extends Person{ public string env;}
@RestController
@请求映射(“/人”)
公共类个人控制器{
@GetMapping
公共列表getPerson(){
List persons=new ArrayList();
add(newdev(1,“Java”);//假设我有构造函数
persons.add(newdevops(2,“Linux”);//假设我有构造函数
回植体;
}
}
公共类人物{public int id;}
公共类Dev扩展Person{public string lang;}
公共类DevOps扩展Person{public string env;}
我希望结果是

[


{id:1,lang:“Java”},//试图重现您的问题,但未成功:

@RestController
@RequestMapping("/person")
public class PersonController {

    @GetMapping
    public List<Person> getPerson(){
        List<Person> persons = new ArrayList<>();

        persons.add(new Dev(1, "Java")); //Let's say I have the constructor
        persons.add(new DevOps(2, "Linux")); //Let's

        return persons;
    }
}

public class Person {
    public int id;

    public Person(int id) {
        this.id = id;
    }
}

public class Dev extends Person {
    public String lang;

    public Dev(int id, String lang) {
        super(id);
        this.lang = lang;
    }
}

public class DevOps extends Person {
    public String env;

    public DevOps(int id, String env) {
        super(id);
        this.env = env;
    }
}

你确定你发布了所有相关的代码吗?既然你声明了
让我们假设我有构造函数
,我只能假设你正确地创建了它们。

我找到了解决方案,在我的现实生活示例中,属性是私有的,我忘记了创建getter。

也发布你的类构造函数
http://localhost:8080/person/

[{"id":1,"lang":"Java"},{"id":2,"env":"Linux"}]