接口:
@RequestMapping(value = "/list", method = RequestMethod.GET)
public CommonResult<Page<AppEntity>> index(
@ApiIgnore @PageableDefault(sort = "apkVersionCode", direction = Sort.Direction.DESC)
Pageable pageable,QuVO quVO)
请求地址:
http://localhost:9585/novel/apk/list?page=1&size=20&apkName=12&sort=apkVersionCode,DESC
为什么QuVO能接收到参数,Pageable 接收不到?
求指点卡了两天了
你先去看看spring的映射
pageable 是实体类,不可能这样直接接收参数的,如果接受也是json字符串,不过一般不需要那么多参数,只需要页码和页大小就可以,就是两个int参数
前端传参错了,需要是pageNumber和pageSize,而不是page和size,因为你的接收对象中没有该属性,如图所示
教你一个方式,让QuVO继承Pageable,然后只需要QuVO一个对象即可。
如有帮助,请采纳,十分感谢!
这边建议您仔细检查一下:导包是否正确;
和 依赖版本问题
1、Spring data提供了@PageableDefault帮助我们个性化的设置pageable的默认配置。例如@PageableDefault(value = 15, sort = { "id" }, direction = Sort.Direction.DESC)表示默认情况下我们按照id倒序排列,每一页的大小为15。
@GetMapping(value = "test")
public Object test(@SpringQueryMap DeviceAllParam param);
QuVO继承Pageable即可
@RequestMapping(value = "/list", method = RequestMethod.GET)
public CommonResult<Page<AppEntity>> index(
@ApiIgnore @PageableDefault(sort = "apkVersionCode", direction = Sort.Direction.DESC) QuVO quVO)
public class QuVO extends Pageable {
}
这个要看属性名与参数key是否对应吧,你的Pageable和QuVO里的属性是咋写的
把@ApiIgnore @PageableDefault(sort = "apkVersionCode", direction = Sort.Direction.DESC)这注解删了试试
改成这样试一下
@GetMapping("/list")
public CommonResult<Page<AppEntity>> index(QuVO quVO,Pageable pageable)
@PageableDefault注解下的参数 前端传参格式为sort=id,asc&sort=name,desc
。你检查下请求时的传参格式是否正确
https://blog.csdn.net/weixin_43647393/article/details/112218804
应该是这个注解的缘故@ApiIgnore
@ApiIgnore 注解主要作用在方法上,类上,参数上。
当作用在方法上时,方法将被忽略;作用在类上时,整个类都会被忽略;作用在参数上时,单个具体的参数会被忽略
1、注意前端传参
2、删除 @ApiIgnore