在我的spring boot 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<Custtable> 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中接受强类型列表的正确方式是什么?
发布于 2016-09-10 23:44:54
尝试将RequestBody注释添加到方法定义中
@RequestMapping(value="/custtable/update", method=RequestMethod.POST)
@ResponseBody
public String updateCusttableRecords(@RequestBody List<Custtable> customers) {
//Method body
}
发布于 2017-08-19 07:21:25
对我来说,我犯了一个打字错误,不小心把一个类包装在一个列表中。删除了拼写错误,允许通过spring data rest + jackson正确地进行序列化。
List<MyClass> a; // typo
MyClass = a;// fix
https://stackoverflow.com/questions/39427311
复制相似问题