【Spring MVC篇】参数的传递及json数据传参

2024-03-08 1408阅读

温馨提示:这篇文章已超过392天没有更新,请注意相关的内容是否还可用!

个人主页:兜里有颗棉花糖

欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创

收录于专栏【Spring MVC】

本专栏旨在分享学习Spring MVC的一点学习心得,欢迎大家在评论区交流讨论💌

【Spring MVC篇】参数的传递及json数据传参

目录

  • 一、普通参数的传递
    • 后端参数重命名
    • 二、POJO参数的传递
    • 三、数组参数的传递
    • 四、集合参数的传递
    • 五、json数据传参(重点)

      一、普通参数的传递

      举栗:

      【Spring MVC篇】参数的传递及json数据传参

      【Spring MVC篇】参数的传递及json数据传参

      后端参数重命名

      举栗子1:【Spring MVC篇】参数的传递及json数据传参

      【Spring MVC篇】参数的传递及json数据传参

      【Spring MVC篇】参数的传递及json数据传参

      传递的参数必须和RequestParam注解修饰的参数相同,将这个参数称之为必传参数。

      可以使用required = false将RequestParam注解修饰的参数设置为非必传参数。

      二、POJO参数的传递

      【Spring MVC篇】参数的传递及json数据传参

      三、数组参数的传递

      请求中,同一个参数有多个时,浏览器会帮我们封装成一个数组。

      【Spring MVC篇】参数的传递及json数据传参

      【Spring MVC篇】参数的传递及json数据传参

      元素之间也可以使用,进行分割:

      【Spring MVC篇】参数的传递及json数据传参

      四、集合参数的传递

      【Spring MVC篇】参数的传递及json数据传参

      【Spring MVC篇】参数的传递及json数据传参

      解释:在使用Spring MVC框架处理请求时默认会将请求参数当作单个的字符串值进行处理,而不会自动解析成集合。通过显式地指定@RequestParam注解,并将参数名与集合类型进行匹配,可以让框架正确解析请求参数,并将其转换成对应的集合对象。

      五、json数据传参(重点)

      json是一个轻量级键值对形式的数据交互格式,本质是字符串(可以用来表示对象的字符串,通常称之为json字符串)。

      在使用Spring MVC框架处理请求时,当请求的数据为JSON格式时,需要使用@RequestBody注解来指定该参数。

      如果不添加 @RequestBody 注解,框架会默认将请求体解析为表单形式,即Content-Type为application/x-www-form-urlencoded或multipart/form-data的数据。而使用@RequestBody注解后,框架会将请求体中的数据解析为JSON格式,并绑定到方法参数上。此时就能直接获取到解析后的 Java 对象,而无需手动进行JSON的解析与转换。

      举栗:

      【Spring MVC篇】参数的传递及json数据传参

      【Spring MVC篇】参数的传递及json数据传参

      总代码如下:

      package org.example.demo1.demos.web.controller;
      import org.example.demo1.demos.web.Person;
      import org.springframework.web.bind.annotation.RequestBody;
      import org.springframework.web.bind.annotation.RequestMapping;
      import org.springframework.web.bind.annotation.RequestParam;
      import org.springframework.web.bind.annotation.RestController;
      import java.util.Arrays;
      import java.util.List;
      @RequestMapping("/param")
      @RestController
      public class ParamController {
          @RequestMapping("/m1")
          public String m1(String name,Integer age) {
              return "普通参数的传递:name->" + name + " age->" + age;
          }
          @RequestMapping("/m2")
          public String m2(Person person) {
              return "对象参数的传递:person-> " + person.toString();
          }
          @RequestMapping("/m3")
          public String m3(@RequestParam(value = "name",required = false) String username, Integer age) {
              return "普通参数的传递:name->" + username + " age->" + age;
          }
          @RequestMapping("/m4")
          public String m4(String[] arrayParam) {
              return "数组传递参数:arrayParam-> " + Arrays.toString(arrayParam);
          }
          @RequestMapping("/m5")
          public String m5(@RequestParam List listParam) {
              return "集合传递参数:listParam-> " + listParam;
          }
          @RequestMapping("/m6")
          public String m6(@RequestBody Person person) {
              return "接收的数据person:-> " + person.toString();
          }
      }
      

      好了,以上就是本文的全部内容了。希望各位友友可以一键三连哈!!!

      【Spring MVC篇】参数的传递及json数据传参

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]