Hãy nói rằng tôi có một lớp miền:Xuân @RequestBody chứa một danh sách các loại khác nhau (nhưng cùng một giao diện)
public class Zoo{
private List<Animal> animals;
....
nơi một động vật là một giao diện với hiện thực khác nhau (Cát, Dog). Hãy nói rằng tôi muốn để có thể tiết kiệm một đối tượng Zoo:
@RequestMapping(value = "/zoo", method = RequestMethod.POST)
public @ResponseBody void save(@RequestBody Zoo zoo) {
....
và tôi muốn gửi một json - một cái gì đó như:
{
animals:[
{type:'Cat', whiskers-length:'3'},
{type:'Dog', name:'Fancy'}
]
}
Làm thế nào tôi có thể nói mùa xuân MVC để lập bản đồ vật để Cát gõ khi gõ == 'Mèo' và ánh xạ nó vào một lớp Dog khi gõ == 'Chó'?
Xin lỗi vì sự nhầm lẫn với json không hợp lệ. Nhưng nó vẫn không giải quyết được vấn đề của tôi, đó là ánh xạ từ đối tượng json {type: 'Cat', whiskersLength: '3'} đến lớp Cat. Lớp Zoo chỉ biết rằng danh sách động vật chứa động vật. Nhưng làm thế nào để các deserializer json biết được việc thực hiện giao diện động vật (Dog hoặc Cat) để sử dụng cho đối tượng json cụ thể? –