spring boot – 如何在HTTP控制器处理程序中避免“无法实例化:指定的类是一个接口”?

在我的Spring启动REST API应用程序中,我需要通过接受强类型列表作为我的输入来处理HTTP POST:

@RestController public class CusttableController { static final Logger LOG = LoggerFactory.getLogger(CusttableController.class); @RequestMapping(value="/custtable/update", method=RequestMethod.POST) @ResponseBody public String updateCusttableRecords(List customers) { try { for (Custtable cust : customers) { Custtable customer = (Custtable) custtableDao.getById(Custtable.class, new CusttableCompositeKey (cust.getAccountnum(),cust.getPartition(),cust.getDataareaid())); 

在这个API的Jersey版本中,这个工作得很好,但是使用Spring Boot,它给了我这个错误:

 org.springframework.beans.BeanInstantiationException: Failed to instantiate [java.util.List]: Specified class is an interface 

在Spring Boot中接受强类型列表的正确方法是什么?

尝试将RequestBody注释添加到方法定义中

 @RequestMapping(value="/custtable/update", method=RequestMethod.POST) @ResponseBody public String updateCusttableRecords(@RequestBody List customers) { //Method body } 

对我来说,我不小心把一个class级列入了一个列表。 删除拼写错误允许序列化通过spring data rest + jackson正确发生。

 List a; // typo MyClass = a;// fix