[2019/05/17]解决springboot测试List接口时JSON传参异常

报错信息,大致如下

c.c.c.c.a.BaseControllerExceptionHandler : 运行时异常:
java.lang.IllegalStateException: No primary or default constructor found for interface java.util.List
at org.springframework.web.method.annotation.ModelAttributeMethodProcessor.createAttribute(ModelAttributeMethodProcessor.java:212)
......
WARN 18472 --- [nio-9090-exec-2] .m.m.a.ExceptionHandlerExceptionResolver : Resolved exception caused by Handler execution: java.lang.IllegalStateException: No primary or default constructor found for interface java.util.List
---

再次修改后仍又报错:

org.springframework.http.converter.
HttpMessageNotReadableException: Required request body is missing:
---
(以上报错信息谷歌翻译了一遍,大致知道了是属性接收异常和http消息转换异常)

原因 : 接口不规范, 后端一时快, 前端两行泪
第二次报错原因, @RequestBody这个标签在post 、put 方法中用于接收json格式的数据 ,get方法不行! get方法不行!
第一次报错原因, @RequestBody用来接收一个List当做整体, 不要用@RequestParam--JSON格式的list没法实现对应了, 也不要错误写成@Param~~
规范写法
    @ApiOperation(value = "批量删除")
    @PostMapping(value = "delBatchIds")
    public Boolean delBatchIds(@RequestBody List<Long> ids){
        return xxxxxService.deleteBatchIds(ids);
    }
再次测试,OK

image.png
image.png

转载于:https://www.cnblogs.com/zhazhaacmer/p/11052687.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值