文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

SpringBoot多种场景传参模式

2024-04-02 19:55

关注

web技术

我们知道常见的web技术也就是网站开发,分为静态网站,和动态网站,动态网站技术常见的有三种,分别是 jsp java web,asp c# web,php web但是它们对应请求request,响应response 都是一样的我们用java web开发动态网站用的mvc框架就是,springmvc,当然我们现在用的是springboot 它只是对spirng全家桶的一个整合框架,他本质不是一个新的框架,内部还是spirng+springmvc

多种传参方式

传统参数传递

我们知道controller方法中会帮我注入HttpServletRequest对象,我们可以通过
request.getParameter("参数名")来直接获取参数,


@RequestMapping("/test01")
public ModelAndView test01(HttpServletRequest request){
      String username = request.getParameter("username");
      String password = request.getParameter("password");

      System.out.println(username);
      System.out.println(password);
      return null;
}

简单类型参数映射

注意这里只能是基本数据类型比如string,int,long,boolean等类型


@RequestMapping("/test02_1")
public ModelAndView test02_1(String username,String password){
      System.out.println(username);
      System.out.println(password);
      return null;
}
@RequestMapping("/test02_2")
public ModelAndView test02_2(@RequestParam("username") String name,@RequestParam(value = "password",defaultValue = "1234987") String pwd){
      //使用了@RequestParam的参数不能传空值
      // required:表示是否必须要传值
      // defaultValue:当没有该请求参数时,SpringMVC给请求参数的默认值
      System.out.println(name);
      System.out.println(pwd);
      return null;
}

复杂对象映射

当然在实际项目中,我们会有很多个参数,一般超过两个参数我们就要封装成对象,通过对象传参数,不然这么一个一个写会麻烦,代码冗余,不美观,不能复用

此时能够自动把参数封装到形参的对象属性上:


@RequestMapping("/test03")

public ModelAndView test03(@ModelAttribute("stu") Student student){
    
      System.out.println(student);
      ModelAndView mv = new ModelAndView();
      mv.setViewName("test2");
      return mv;
}

如果需要body里面json传参数需要在形参前面加上@RequestBody 会自动完成映射


 @PostMapping("/register")
    public Result bodyParams(@RequestBody Users users) {
        return ResultResponse.success(users);
    }

数组和集合类型参数

当前台页面传来的参数是参数名相同,参数值不同的多个参数时,可以直接封装到方法的数组类型的形参中
比如批量删除时传来的参数


    
    @DeleteMapping("/del")
    public Result listParams(String[] ids) {
        return ResultResponse.success(ids);
    }

Restful风格传参

Restful是一种软件架构风格,严格上说是一种编码风格,其充分利用 HTTP 协议本身语义从而提供了一组设计原则和约束条件。

主要用于客户端和服务器交互类的软件,该风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。 在后台,RequestMapping标签后,可以用{参数名}方式传参,同时需要在形参前加注解@PathVarible


@RequestMapping("/delete/{id}")
public ModelAndView test4(@PathVariable("id")Long id){
    System.out.println("delete");
    System.out.println(id);
    return null;
}

到此这篇关于SpringBoot多种场景传参模式的文章就介绍到这了,更多相关SpringBoot 传参模式内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯