前后端集合如何传递
前端vue后端rest风格:
1.路径传参(参数必传),通过pathvarible注解
后端:
@DeleteMapping("/{YYIDs}")public R<Void> remove(@NotEmpty(message = "主键不能为空")@PathVariable String[] YYIDs) {return toAjax(mB08Service.deleteWithValidByIds(List.of(YYIDs), true));}
前端:传递的可以是集合
/*** 删除MB08* @param YYID*/
export const delMB08 = (YYID: string | number | Array<string | number>) => {return request({url: '/medicaltechnology/MB08/' + YYID,method: 'delete'});
};
2.后端使用@RequestParam注解,为query param传参
后端代码:如果要求参数可以为空,需要加上
required = false
@GetMapping("/getNcisPushLog")public R<List<NcisPushVo>> getNcisPushLog(@RequestParam(required = false) List<String> dateRange){return R.ok(techBeianBingLiDetailService.getNcisPushLog(dateRange));}
前端:必须将参数转换为,分割的字符串后再传递
ts:
export function getNcisPushLog(query:any ) {return request({url: '/medicaltechnology/TechBeianBingLiDetail/getNcisPushLog',method: 'get',params: query});
}
index:
const getList = async () => {loading.value = true;queryParams.value.query=dateRange.value.join(',');const res = await getNcisPushLog(queryParams.value);dataList.value = res.data;loading.value = false;
};
最后还是建议直接放在对象中,在对象中放集合