[TOC]
简要描述
接口调用
async init () {
const params = {
page: this.page,
pageSize: this.pageSize,
name: this.input ? this.input : undefined
}
await getSetmealPage(params).then(res => {
if (String(res.code) === '1') {
this.tableData = res.data.records || []
this.counts = res.data.total
}
}).catch(err => {
this.$message.error('请求出错了:' + err)
})
}
请求URL
[context-path]/setmeal/page
请求方式
API接口
const getSetmealPage = (params) => {
return $axios({
url: '/setmeal/page',
method: 'get',
params
})
}
参数
参数名 |
必选 |
类型 |
说明 |
page |
是 |
int |
页数 |
pageSize |
是 |
int |
页面大小 |
name |
否 |
varchar(64) |
套餐名字 |
返回示例
code: 1
data: {records: [,…], total: 0, size: 10, current: 1, orders: [], optimizeCountSql: true, searchCount: true,…}
map: {}
msg: null
返回参数说明
参数名 |
类型 |
说明 |
code |
int |
返回码:1:成功 0或其它:失败 |
data |
object |
返回数据 |
map |
map |
动态数据 |
msg |
string |
错误信息 |
备注
public static <T> R<T> success(T object) {
R<T> r = new R<T>();
r.data = object;
r.code = 1;
return r;
}
public static <T> R<T> error(String msg) {
R r = new R();
r.msg = msg;
r.code = 0;
return r;
}
后端
后端接口请求参数
后端代码
@GetMapping("/page")
public R<Page> page(int page, int pageSize,String name){
Page<Setmeal> page1 = new Page<>(page,pageSize);
Page<SetmealDto> page2 = new Page<>();
BeanUtils.copyProperties(page1,page2,"records");
LambdaQueryWrapper<Setmeal> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.like(name!=null,Setmeal::getName,name);
queryWrapper.orderByDesc(Setmeal::getUpdateTime);
setmealService.page(page1,queryWrapper);
List<Setmeal> records = page1.getRecords();
List<SetmealDto> collect = records.stream().map(item -> {
SetmealDto setmealDto = new SetmealDto();
Long categoryId = item.getCategoryId();
BeanUtils.copyProperties(item, setmealDto);
Category category = categoryService.getById(categoryId);
setmealDto.setCategoryName(category.getName());
return setmealDto;
}).collect(Collectors.toList());
page2.setRecords(collect);
return R.success(page2);
}