本文主要是介绍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 这种的,前台该怎么传参**
后端代码://获取用户信息 通过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);}
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中接收数组参数
这篇关于Controller中接收数组参数 post请求中在body中传+post请求中通过表单形式传(x-www-form-urlencoded)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!