您现在的位置是:首页 > 经典句子

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

作者:付梓时间:2024-04-26 13:51:01分类:经典句子

简介  文章浏览阅读928次,点赞7次,收藏16次。参数是会拼接到url后面的请求:url后面的key值_springboot接收前端arraybuffer传过来的数据

点击全文阅读

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

一、params 传参restful风格的请求 二、Body中的form-data 传参三、Body中的raw的json格式 传参

一、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";

restful风格的请求

get请求:localhost:8080/users/add3?tom/123456

后端接收的接口写法如下

//(1)使用 @PathVariable@RequestMapping("add3/{name}/{password}")    public String add3(@PathVariable("name") String username, @PathVariable String password){        System.out.println(username+" / "+password);        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("name");                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("name") 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;     @Override    public String toString() {        return "User{" +                "name='" + name+ '\'' +                ", age='" + age+ '\'' +                ", cat=" + cat +                ", courseList=" + courseList +                '}';    }}

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

点击全文阅读

郑重声明:

本站所有活动均为互联网所得,如有侵权请联系本站删除处理

上一篇:毕业典礼策划书范文

下一篇:返回列表

我来说两句