【Java基础】前端传一个数组或者集合后台怎么接受(案例详解)
【辰兮要努力】:hello你好我是辰兮,很高兴你能来阅读,昵称是希望自己能不断精进,向着优秀程序员前行!
博客来源于项目以及编程中遇到的问题总结,偶尔会有读书分享,我会陆续更新Java前端、后台、数据库、项目案例等相关知识点总结,感谢你的阅读和关注,希望我的博客能帮助到更多的人,分享获取新知,大家一起进步!
吾等采石之人,应怀大教堂之心,愿大家奔赴在各自的热爱里…
文章目录
- 一、基础学习
- 二、进阶学习
一、基础学习
hello本期继续以实际案例的形式分享Java基础之 Java后台接受数组和集合的案例,分享给初学者
首先我们模拟创建一个user的实例
/*** @program: demo* @description: 普通用户* @author: 辰兮要努力* @create: 2021-10-03 11:04*/
@Data
public class User {private String id;private String name;private Integer age;}
创建一个公共的返回值的帮助类
import lombok.Data;/*** @program: demo* @description: 封装公共的返回值* @author: 辰兮要努力* @create: 2021-10-03 11:05*/
@Data
public class Result<T> {private static final long serialVersionUID = 1L;private Integer code;private String msg;private T data;public static Result fail() {Result Result = new Result();Result.setCode(1);Result.setMsg("服务器错误!!!");return Result;}public static Result fail(String msg) {Result Result = new Result();Result.setCode(1);Result.setMsg(msg);return Result;}public static <T> Result success(T data) {Result Result = new Result();Result.setCode(0);Result.setData(data);return Result;}public static Result success() {Result Result = new Result();Result.setCode(0);Result.setMsg("操作成功!");Result.setData("success");return Result;}}
业务场景一:前端传对象集合后台如何接受?
[{"id":"1","name":"辰兮","age":"22"},{"id":"2","name":"辰兮要努力","age":"23"}
]
后台接受方式
@RequestBody List<User> userList
业务场景二:前端传数组后台如何接受?
["2021","2022"]
后台接受方式
@RequestBody List<String> list
简单的写一个controller层模拟业务操作:重在查看入参
/*** @program: demo* @description: 前后端传值交互案例* @author: 辰兮要努力* @create: 2021-10-03 11:09*/
@RestController
@RequestMapping("/user")
public class UserController {//打印日志private static final Logger logger = LoggerFactory.getLogger(UserController.class);/*** 前端传对象集合 后端用集合接* @param userList* @return*/@PostMapping("/saveList")public Result saveUserList(@RequestBody List<User> userList) {logger.info("传入的参数是{}",userList);//模拟逻辑层做一个入参校验if (CollectionUtils.isEmpty(userList)){return Result.fail();}return Result.success();}/*** 业务场景:前端传入单独一个数组* @param list* @return*/@PostMapping("/saveUserIds")public Result saveStrings(@RequestBody List<String> list) {logger.info("传入的参数是{}",list);//模拟逻辑层做一个入参校验if (CollectionUtils.isEmpty(list)){return Result.fail();}return Result.success();}}
业务场景一:前端传对象的集合后端就用对应的list接受即可
业务场景二:前端传对应的数组后台接受
来看看控制台打印的参数
使用如上的方法即可成功接受前端传入的集合或者数组
二、进阶学习
你是否遇到过这样的问题,就是前端除了传一个集合外,还要传一个字符串或者数字等属性?
业务场景:传入的集合代表要操作的数据,传入的字符串,字符串/数字 不同 走不同的业务逻辑等
入参案例如下
{"userList":[{"id ":"1","name":"辰兮","age":"22"},{"id":"2","name":"辰兮要努力","age":"23"}],"open":1
}
接受方式:创建一个对象接受
/*** @program: demo* @description: 用户对象接受类* @author: 辰兮要努力* @create: 2021-10-03 11:04*/
@Data
public class UserVo {private List<User> userList;private Integer open;
}
实践案例如下
/*** @program: demo* @description: 前后端传值交互案例* @author: 辰兮要努力* @create: 2021-10-03 11:09*/
@RestController
@RequestMapping("/user")
public class UserController {//打印日志private static final Logger logger = LoggerFactory.getLogger(UserController.class);/*** 业务场景:前端传一个数组➕一个字符串或者数字等* @param userVo* @return*/@PostMapping("/saveUserVo")public Result saveUserVoList(@RequestBody UserVo userVo) {logger.info("传入的参数是{}",userVo);return Result.success();}
}
我们可以debug查看一下入参,很清晰的可以看到前端传入的参数
前后端传参,最重要的还是统一好对应的参数属性名称,传参方式等,提前确认好,开发效率会大幅提高
解答:前端除了传一个集合外,还要传一个字符串或者数字等属性,我们创建一个VO对象来接受即可解决如上的问题
富文本编辑器上传图片 一.导入kindeditor的js 二.将kindeditor与一个文本域textarea进行关联,即用textarea初始化一个kindeditor对象 itemaddedit ... Java8 十大新特性详解 本教程将Java8的新特新逐一列出,并将使用简单的代码示例来指导你如何使用默认接口方法,lambda表达式,方法引用以及多重Annotation,之后你将会学到最新的API ... Java基础.多线程.JVM.集合八股文自述 一.Java基础 1.1 object类有哪些方法? getClass().hashCode().equals().clone().toString(). ... java基础(类与对象.集合) 类与对象 类与对象中的栈和堆 构造方法 this关键字 面向对象三大特性 封装性(private) 继承性(extends) 方法重写(@override) 多态性 向 ... 摘要:这篇Java开发技术栏目下的"Java基础学习笔记之数组详解",介绍的技术点是"java基础学习笔记.基础学习笔记.Java基础.数组详解.学习笔记.Java&qu ... 转自: Java中如何定义一个数组呢? 数组(Array)是有序的元素序列.若将有限个类型相同的变量的集合命名,那么这个名称为数组名.组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标 ... 督促自己--某客编程题3道(Java)--字符串查找.数组.集合 第一题: 题目描述 一个DNA序列由A/C/G/T四个字母的排列组合组成.G和C的比例(定义为GC-Ratio)是序列中G和C两个字母 ... java将前端传给后端的文字写入到word中 用户个人记录使用 前端代码 <!DOCTYPE html> <html lang="en"><head& ... 在java中需要输入一个数组,再对输入的数组进行一些基本操作.这里给出了"(2)键盘输入一个数组:(2)计算数组和:(3)计算数组中的最大值 "的完整代码. import java ...【Java基础】前端传一个数组或者集合后台怎么接受(案例详解)相关推荐
最新文章
热门文章