пружинный контроллер с десериализованным списком объектов - PullRequest
2 голосов
/ 22 января 2011
@RequestMapping(value = "/tester/", method = RequestMethod.POST)
    public String  testingonly(@RequestBody List<EachObject> eachobjectlist) throws IOException {

затем я делаю итерации eachobjectlist, но каждый элемент в списке имеет тип LinkedHashMap, разве он не должен быть типом «EachObject»?

1 Ответ

1 голос
/ 22 января 2011

Из-за стирания типа во время выполнения универсальный тип EachObject отсутствует во время выполнения. Весна не сможет определить эту информацию. Spring только знает, что аргумент имеет необработанный тип List, и он вставит List любого типа.

Согласно @axtavt, универсальные типы аргументов метода доступны, но Spring может не реализовать это и, вероятно, не будет реализовано в будущем. Это связано с тем, что универсальный тип может быть интерфейсом или абстрактным классом, и Spring не сможет создать соответствующую реализацию данного интерфейса или абстрактного класса. Например, если вы запрашиваете список Fruit и есть два почти идентичных подкласса Fruit, определение того, какой подкласс будет использоваться, будет невозможно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...