前后端集合如何传递

发布于:2025-07-13 ⋅ 阅读:(15) ⋅ 点赞:(0)

前端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;
};

最后还是建议直接放在对象中,在对象中放集合


网站公告

今日签到

点亮在社区的每一天
去签到