【发布时间】:2016-05-23 22:19:32
【问题描述】:
我在使用 Spring MVC 4.2.6 和 Jackson (2.7.3) 时遇到了一些问题。我用一个使用泛型类型的方法创建了一个抽象的@RestController 类。我实现了这个传递泛型对象类型的抽象类。我使用@RequestBody 和DispatcherServlet 抛出JsonMappingException(不能构造我的类的实例)。应用程序上下文中的MappingJackson2HttpMessageConverter 已配置。
编辑:添加了更多信息。
public abstract class AbsctractAnimalResource<DTO extends AnimalDTO> {
// Doesn't work. Throws JsonMappingException. (@RequestBody)
@RequestMapping(value = "/bar", method = POST, produces = APPLICATION_JSON_VALUE)
public ResponseEntity<?> bar(@RequestBody DTO dto) throws Exception {
return new ResponseEntity(dto, HttpStatus.CREATED);
}
}
@RestController
@RequestMapping("/cat")
public class CatResource extends AbsctractAnimalResource<CatDTO> {
}
@RestController
@RequestMapping("/dog")
public class DogResource extends AbsctractAnimalResource<DogDTO> {
}
interface AnimalDTO { }
public class CatDTO implements AnimalDTO { }
public class DogDTO implements AnimalDTO { }
【问题讨论】:
-
好的。添加了更多信息。谢谢。我无法理解,我调试了 DispatcherServlet 并且两个注解具有相同的行为,但是 @RequestBody 抛出了异常。
标签: java spring generics jackson