Spring接收前端传递数据的方式

这篇具有很好参考价值的文章主要介绍了Spring接收前端传递数据的方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 搭建项目

 Spring接收前端传递数据的方式,spring,前端,java

 Spring接收前端传递数据的方式,spring,前端,java

 文章来源地址https://www.toymoban.com/news/detail-554592.html

              然后点击下一步完成即可搭建成功

        在pom文件中导入lombok的jar包,帮助我们快速创建实体类

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.16</version> 
        </dependency>

创建实体类User和Cat

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
    private Integer id;
    private String name;
    private String word;
    private Cat cat;
    private List<Cat> cats;
}
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class Cat {
    private Integer id;
    private String breed;
    private String name;
}

传递非JSON格式的数据

主键:

        @RequestParam 主要用于在Spring MVC后台控制层获取参数,它有三个常用参数  

               1).  defaultValue 表示设置默认值

               2). required 表示该参数是否必传

               3). value 值表示接收传入的参数的key        

        @PathVariable用于将请求URL中的模板变量映射到功能处理方法的参数上,即取出URL模板中的变量作为参数

        1.前端请求参数的key需和后端控制层处理请求的方法参数名称一致

  @RequestMapping("get1")
    public void get(String name,String word){
        System.out.println(name+":"+word);
    }

Spring接收前端传递数据的方式,spring,前端,java

         2.前端请求参数的key需和后端控制层处理请求的方法参数名称不一致

 @RequestMapping("get2")
    public void get2(@RequestParam("n") String name,@RequestParam("w") String word){
        System.out.println(name+":"+word);
    }

Spring接收前端传递数据的方式,spring,前端,java

         3.前端请求参数的key和后端控制层处理请求方法的参数pojo实体类的属性名称一致

@RequestMapping("get3")
    public void get3(User user){
        System.out.println(user);
    }

Spring接收前端传递数据的方式,spring,前端,java        4.使用@PathVariable注解将请求URL中的模板变量映射到功能 处理方法的参数上,如果模板变量名称和方法的参数名称不同需要在@PathVariable注解上显示的指定映射关系

  @RequestMapping("get4/{name}/{word}")
    public void get4(@PathVariable("name") String name,@PathVariable("word") String word){
        System.out.println(name+""+word);
    }

Spring接收前端传递数据的方式,spring,前端,java 

        5.通过HttpServletRequest对象获取数据,前端请求参数的key需和getParameter(String name)方法传递的参数名称一致

    @RequestMapping("get5")
    public void get5(HttpServletRequest request){
        String id = request.getParameter("id");
        String name = request.getParameter("name");
        String word = request.getParameter("word");
        System.out.println(id+""+name+""+word);
    }

Spring接收前端传递数据的方式,spring,前端,java

传递JSON格式的数据

        如果前端通过application/json类型提交JSON格式的数据给后端控制层处理请求的方法,方法的参数必须使用@RequestBody注解进行修饰,才能接收来自前端提交的JSON数据

    @RequestMapping("get6")
    public void get6(@RequestBody User user){
        System.out.println(user);
    }

                1.单个实体接收参数

                前端传递的json的数据:

{
    "id":1003,
    "name":"小元",
    "word":"123"
}

Spring接收前端传递数据的方式,spring,前端,java

                2. 实体嵌套实体接收参数

                前端传递的json的数据:

{
    "id":1,
    "name":"张三",
    "word":123,
    "cat":{
        "id":1001,
        "breed":"小白",
        "name":"白白"
    }
}

Spring接收前端传递数据的方式,spring,前端,java

 

                3. 实体嵌套List集合接收参数

                前端传递的json的数据:

{
    "id":1,
    "name":"张三",
    "word":123,
    "cat":{
        "id":1001,
        "breed":"小白",
        "name":"白白"
    },
    "cats":[
       {
        "id":1002,
        "breed":"小黑",
        "name":"黑黑"
    },
      {
        "id":1003,
        "breed":"小启",
        "name":"启启"
    },
       {
        "id":1004,
        "breed":"小蓝",
        "name":"蓝蓝"
    }
    ]
}

 

Spring接收前端传递数据的方式,spring,前端,java

                4. Map集合接收参数

 @RequestMapping("get7")
    public void add10(@RequestBody Map<String,Object> m){//传递List类型的集合数据
        Integer id = (Integer) m.get("id");
        String name = (String) m.get("name");
        String word = (String) m.get("word");

        System.out.println(id+"\t"+name+":"+word);


        System.out.println("========");
        Map<String,Object> cat = (Map<String, Object>) m.get("cat");
        Set<String> s = cat.keySet();
        for (String s1 : s) {
            System.out.println(s1+":"+ cat.get(s1));
        }


        System.out.println("========");

        List< Map<String,Object>> course = (List<Map<String, Object>>) m.get("cats");

        for (Map<String, Object> cs : course) {
            Set<Map.Entry<String, Object>> e = cs.entrySet();
            for (Map.Entry<String, Object> ss : e) {
                System.out.println(ss.getKey()+":"+ss.getValue());
            }

        }

    }

                前端传递的json的数据:

{
    "id":1,
    "name":"张三",
    "word":"123",
    "cat":{
        "id":1001,
        "breed":"小白",
        "name":"白白"
    },
    "cats":[
       {
        "id":1002,
        "breed":"小黑",
        "name":"黑黑"
    },
      {
        "id":1003,
        "breed":"小启",
        "name":"启启"
    },
       {
        "id":1004,
        "breed":"小蓝",
        "name":"蓝蓝"
    }
    ]
}

Spring接收前端传递数据的方式,spring,前端,java

 

到了这里,关于Spring接收前端传递数据的方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 前端传递Json格式,后端如何用多种方式接收

     一、先定义一个简单的实体类 二、编写前端传递的json数据 1.前端传递普通json,后端用对象接收 2.前端传递json数组, 3.前端传递json数组,后端用集合接收Josn数组

    2024年02月12日
    浏览(33)
  • kotlin如何接收前端传递过来的数据

    Kotlin 可以使用 Spring Boot 等框架来接收前端传递过来的数据。 在 Spring Boot 中,你可以使用 @RequestBody 注解来将前端传递的 JSON 格式数据转换为相应的 Kotlin 对象。 示例代码: 在上面的示例中, @RequestBody 注解会将前端传递的 JSON 数据转换为 User 对象。你可以在该方法中对数据

    2024年02月10日
    浏览(28)
  • @RequestBody接收不到前端传递过来的json数据

    我刚开始只是写@RequestBody ParkingRecord parkingRecord 一直获取的都是null, 直到用了Map标签才终于获取到参数了 获取到map的key,就可以获取值了 有人说是前后端参数名称不一致:在实体类的属性上加一个注解 然而这个没有解决我的问题 也有人说是因为lombok的问题,自己用idea的快捷

    2024年02月12日
    浏览(41)
  • spring boot项目同时传递参数和文件的多种方式

    在开发接口中,遇到了需要同时接收参数和文件的情况,可以有多种方式实现文件+参数的接收,这里基于spring boot 3 + vue 3 + axios,做一个简单的代码演示。 参数较少时,比较方便,直接参数接受即可 1.1 后端接口 1.2 前端请求 fileAndSimpleParam 为封装的api请求方法,可查看下文的

    2024年02月13日
    浏览(36)
  • Java接收前端请求体方式

    💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! ## Java接收前端请求体的方式 请求体(Request Body)是HTTP请求中的一部分,用于传输请求的数据;在HTTP请求中,请求体通常用于POST、PUT等需要传递数据的请求方法 表单数据(Form Data):请求体以键值对的形式表示,使用

    2024年02月11日
    浏览(23)
  • vue中父组件异步数据通过props方式传递给子组件,子组件接收不到的问题

    问题描述 组件化开发中经常用到父子组件的通信,父传子子传父等数据的操作,如果父组件的数据是发请求从后端获取的异步数据,那么父组件将这个数据传递给子组件的时候,因为是异步数据,就会出现父组件传递过去了,但是子组件mounted钩子初始情况下是接收不到的问

    2023年04月08日
    浏览(26)
  • spring中,为什么前端明明传了值,后端却接收不到

    在进行前后端的联调时,有时候会出现,前端明明传了值,后端接口却接收不到的情况,这种情况常常让人很苦恼,然后就会去仔细对比前后端的参数单词是不是对应上了,也会去检查是不是前端的请求参数格式有问题,又或者是后端接口接收的参数格式有问题,一通检查对

    2024年02月03日
    浏览(40)
  • 【Java EE】Spring请求如何传递参数详解

    访问不同的路径,就是发送不同的请求.在发送请求时,可能会带⼀些参数,所以我们在学习Spring的请求时,主要是学习如何传递参数到后端以及后端如何接收. 下面博主会对传递参数进行一个详解,咱们主要是使⽤浏览器和Postman来模拟 当我们运行后,用浏览器进行访问 http://127.0.

    2024年04月12日
    浏览(35)
  • Spring-mvc的参数传递与常用注解的解答及页面的跳转方式---综合案例

    目录 一.slf4j--日志 二.常用注解        2.1.@RequestMapping       2.2.@RequestParam       2.3.@RequestBody       2.4.@PathVariable 三.参数的传递 3.1 基础类型 3.2 复杂类型 3.3 @RequestParam 3.4  @PathVariable 3.5 @RequestBody 3.6 增删改查  四.返回值            4.1 void 返回值   4.2 String

    2024年02月09日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包