当前位置: 首页 > news >正文

Spring Boot接收从前端传过来的数据常用方式以及处理的技巧

一、params 传参

参数是会拼接到url后面的请求

场景规范:url后面的key值<=3个参数的时候,使用params 传参

支持的请求方式:get(正规的是get方式)、post 都行

例如:
http://localhost:8080/simpleParam?name=Tom&age=10

在postman里面的体现为
在这里插入图片描述

后端接收的接口写法如下
普遍都是使用第一种和第二种去接收

   //(1)直接接收,只要key值相同@RequestMapping("/simpleParam")public String simpleParam(String name,Integer age){System.out.println("name= "+name);System.out.println("age= "+ age);return "success";}//(2)直接接收,值不同可以使用@RequestParam("name");取别名@RequestMapping("/simpleParam")public String simpleParam(@RequestParam("name")String username ,Integer age){System.out.println("username = "+username );System.out.println("age= "+ age);return "success";}//(3)实体类接收,注意接收的实体类里面的属性值要和请求url中的key值一样哦@RequestMapping("/simpleParam")public String simpleParam(User user){System.out.println(user);return "success";}//(4)最牛皮的,HttpServletRequest来接受@RequestMapping("/simpleParam")public String simpleParam(HttpServletRequest request){String name= request.getParameter("name");String age= request.getParameter("age");return "success";

二、Body中的form-data 传参

form-data

当需要发送表单数据或上传文件

场景规范:发送表单数据或上传文件

支持的请求方式
只是表单数据的话,get、post (正规的是post方式)都行;
如果存在文件数据,必须是post请求

(1)场景一:只是表单数据(那就和params 传参的后端接收法一样,就不重复写了)

在postman里面的体现为
在这里插入图片描述

(2)场景二:存在文件数据

在postman里面的体现为
在这里插入图片描述

后端接收的接口写法如下

   //(1)使用 HttpServletRequest@RequestMapping("/simpleParam")public String simpleParam(HttpServletRequest request) throws IOException {  if (request instanceof MultipartHttpServletRequest) {  MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;  // 获取文件  MultipartFile file = multipartRequest.getFile("file");  String fileName = file.getOriginalFilename();  byte[] fileBytes = file.getBytes();  // 处理文件...  // 获取其他字段  String username = multipartRequest.getParameter("username");  return "File uploaded: " + fileName + ", User: " + username;  } else {  return "Error: Form must have enctype=multipart/form-data.";  }  }  //(2)使用 @RequestPart@RequestMapping("/simpleParam")public String simpleParam(@RequestPart("file") MultipartFile file,  @RequestPart("username") String username) throws IOException {  String fileName = file.getOriginalFilename();  // 处理文件...  return "File uploaded: " + fileName + ", User: " + username;  }  

三、Body中的raw的json格式 传参

支持的请求方式:post (最常见post方式)、PUT和PATCH

在这里插入图片描述
后端接收的接口写法如下

   //(1)使用@RequestBody注解接收JSON对象@RequestMapping("/simpleParam")public String simpleParam(@RequestBody User user) {  // 使用User对象中的值  return "Received JSON: " + user.toString();  }  

实体类为:

 public static class User{  private String name;  private Integer age;//单个实体类 private Cat cat;//List实体类private List<Course> courseList;@Overridepublic String toString() {return "User{" +"name='" + name+ '\'' +", age='" + age+ '\'' +", cat=" + cat +", courseList=" + courseList +'}';}
}

参考文章
【1】Spring Boot接收从前端传过来的数据常用方式以及处理的技巧
https://blog.csdn.net/aiwokache/article/details/129037252

http://www.lryc.cn/news/332804.html

相关文章:

  • EFCore通用数据操作类
  • java Web 辅助学习管理系统idea开发mysql数据库web结构java编程计算机网页源码maven项目
  • 使用Python实现K近邻算法
  • Celery的任务流
  • 使用Arcpy进行数据批处理-批量裁剪
  • 【攻防世界】ics-05
  • VTK的交互器
  • ChatGPT(3.5版本)开放无需注册:算力背后的数据之战悄然打响
  • python项目练习——14.学生管理系统
  • 基于SpringBoot的公益慈善平台
  • Python网络爬虫(一):HTML/CSS/JavaScript介绍
  • 机器学习每周挑战——旅游景点数据分析
  • 开发语言漫谈-C语言
  • vue3导入excel并解析excel数据渲染到表格中,纯前端实现。
  • Java常用API之Encoders类解读
  • java中大型医院HIS系统源码 Angular+Nginx+SpringBoot云HIS运维平台源码
  • windows部署Jenkins并远程部署tomcat
  • 设计模式|责任链模式(Chain of Responsibility Pattern)
  • 文件服务器之二:SAMBA服务器
  • 20.安全性测试与评估
  • 阿里巴巴实习面经
  • javaweb学习(day11-监听器Listener过滤器Filter)
  • 教你快速认识Java中的抽象类和接口
  • Linux第5课 Linux目录介绍
  • GitHub要求2FA?不慌,有它(神锁离线版)帮你!
  • C语言第四十弹---预处理(下)
  • SYS-2722音频分析仪SYS2722
  • 下载页面上的视频
  • 静态路由协议实验综合实验
  • qt MVC软件设计模式