vue向后台发get请求的数组,以及后台接收

请求格式如下

 用户批量选择后拿到id的数组,发给后台

updateAll(){
      var ids=[]
      this.multipleSelection.forEach(row=>ids.push(row.id))
      this.$confirm('确定修改吗', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'success',
        callback: action => {
          if (action === 'confirm') {
            updateAllIpserver(ids,this.listQuery.type).then(response => {
              this.$notify({
                title: '修改成功',
                message: '',
                type: 'success',
                duration: 2000
              })
              this.getList()
            }).catch(() => {
              console.log('error submit')
            })
          }
        }
      })
    }

需要对数组做序列化处理,不然传给后台的格式无法接收

export function updateAllIpserver(ids,type) {
  return request({
    url: '/ipserver/updateAllIpserver',
    method: 'get',
    params: {
      ids: ids,
      type: type
  },
  paramsSerializer: function(params){  //序列化操作  格式为:ids=2&ids=3&ids=1&type=1
    return qs.stringify(params,{arrayFormat:'repeat'})
  }
  })
}

后台用@requesparam接收

@GetMapping("/updateAllIpserver")
    public Result updateAllIpserver(@RequestParam Long[]ids,Long type) {
        try {
            return iIpServerService.updateAllIpserver(ids,type);
        } catch (CustomizeException e) {
            return Result.failed(e.resultCode);
        }
    }

Guess you like

Origin blog.csdn.net/weixin_52540274/article/details/119644709