Controller中接收数组参数 post请求中在body中传+post请求中通过表单形式传(x-www-form-urlencoded)

1、场景

需要根据用户id集合批量删除用户数据,前端使用post请求,controller中参数接收数组参数并根据用户id删除用户基本信息

2、分析处理:
2.1、前端请求类型contentType:application/json

请求体中为json字符串,后端新建一个UserDTO(用户数据传输类),用于接收前端json参数。

复制代码
    在controller参数体中直接使用@RequestBody UserDTO userDTO即可将前端数组自动转化为userDTO中对应的属性

前端请求及后端返回值:

controller

userDTO中需要包含name、ids属性,如下:

2.2、前端请求类型contentType:application/x-www-form-urlencoded(form表单提交)

需要注意的是,上图中不是选择的form-data (这是get请求通过表单形式提交应该选择的)
controller

实例代码:

** 实战 :后台使用:@RequestParam("userId") Long userId 这种的,前台该怎么传参**

java 复制代码
后端代码:

   //获取用户信息 通过id
    @GetMapping("/getUserById")
    @Operation(method = "GET", summary = "根据id查询用户信息")
    public Result<UserResVO> getUserInfoById(@RequestParam("userId") Long userId) {
        if (ObjectUtil.isEmpty(userId)) {
            return Result.fail(Constant.ErrorCode, "用户id不能为空");
        }
        return userService.getUserInfoById(userId);
    }
javascript 复制代码
Vue
前段js代码-定义方法
// 结算单详情
export function getUserInfoById(id) {
  return request({
    url: '/User/getUserById',
    method: 'get',
    params: {userId: id},
  });
}


//前端vue中的写法--引用方法
import {getUserInfoById} from  user.js

//使用:
function getUserDetail() {
  getUserInfoById(detailId.value).then((res) => {
    detailOb.value = res.data;
    。。。。。。
	}

实战:后台使用:@PathVariable(name="userId") Long userId 这种的,前台该怎么传参

参考:
Controller中接收数组参数

相关推荐
玹外之音12 分钟前
Spring AI 实战:手把手教你构建支持多会话管理的智能聊天服务
java·spring
callJJ1 小时前
Spring Bean 生命周期详解——从出生到销毁,结合源码全程追踪
java·后端·spring·bean·八股文
怒放吧德德1 小时前
AsyncTool + SpringBoot:轻量级异步编排最佳实践
java·后端
毅炼1 小时前
Java 集合常见问题总结(1)
java·后端
知识即是力量ol1 小时前
口语八股——Spring 面试实战指南(一):核心概念篇、AOP 篇
java·spring·面试·aop·八股·核心概念篇
utmhikari1 小时前
【架构艺术】治理后端稳定性的一些实战经验
java·开发语言·后端·架构·系统架构·稳定性·后端开发
文艺倾年1 小时前
【源码精讲+简历包装】LeetcodeRunner—手搓调试器轮子(20W字-上)
java·jvm·人工智能·tomcat·编辑器·guava
dfyx9992 小时前
Maven Spring框架依赖包
java·spring·maven
茶杯梦轩2 小时前
从零起步学习并发编程 || 第二章:多线程与死锁在项目中的应用示例
java·服务器·后端
日月云棠2 小时前
JAVA JDK 11 特性详解
java