一、确定基类和子类
1.1 基类
public class Animal {
private String name;
// Getters and setters
}
1.2 子类
public class Dog extends Animal {
// Dog 相关属性
// Getters and setters
}
public class Cat extends Animal {
// Cat 相关属性
// Getters and setters
}
二、在基类上添加注解
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.EXISTING_PROPERTY, property = "name", visible = true)
@JsonSubTypes({
@JsonSubTypes.Type(value = Dog.class, name = "dog"),
@JsonSubTypes.Type(value = Cat.class, name = "cat")
})
使用property选择属性来进行比较,如果该属性的值与name的值相同,那么就会创建对应value值的对象
三、使用
@PostMapping("/test")
public String test(@RequestBody Animal animal) {
return "test Success";
}