Załóżmy, że mam trzy klasy.Spring @ReponseBody @RequestBody z klasą abstrakcyjną
public abstract class Animal {}
public class Cat extends Animal {}
public class Dog extends Animal {}
Czy mogę zrobić coś takiego?
Wejście: json, który jest pies lub kot
wyjściowa: pies/kot zależy od typu obiektu wejściowego
ja nie rozumiem, dlaczego następujący kod nie robi pracę. A może powinienem użyć dwóch oddzielnych metod, aby poradzić sobie z nowym psem i kotem?
@RequestMapping(value = "/animal", method = RequestMethod.POST, produces = "application/json; charset=utf-8")
private @ResponseBody <T extends Animal>T insertAnimal(@RequestBody T animal) {
return animal;
}
Aktualizacja: sry i zapomnij podać komunikat o błędzie
HTTP status 500 - przetwarzanie Żądanie nie powiodło się; Wyjątkiem jest zagnieżdżona java.lang.IllegalArgumentException: Typ zmiennej „T” nie może zostać rozwiązany
Co masz na myśli, mówiąc, że "kod nie działa". Runtime error? Błąd kompilatora? Gdzie jest dziennik błędów? Musisz nam pomóc zrozumieć problem. Dzięki. –