我是靠谱客的博主 听话春天,最近开发中收集的这篇文章主要介绍Spring @RequestParam注解的使用,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、@RequestParam作用

将请求参数绑定到你控制器的方法参数上

2、@RequestParam三个属性

@RequestParam(value=”参数名”, required=true/false, defaultValue=””):

(1)value:请求参数名(必须配置)单一参数时,可简化如下:

   /**
    * @Description:    url参数中的name必须要和@RequestParam("name")一致
    * @Author:         vdi100
    */
    @GetMapping("edit1")
    public String edit1(@RequestParam("userId") Integer userId, Model model) {
        System.out.println("*******************" + userId);
        model.addAttribute("userId" , userId);
        return "/admin/ronghe/rongheMobileList/edit";
    }
    /**
     * @Description:    url参数中的name必须要和@RequestParam("name")一致
     *                  参数名字不一样
     * @Author:         vdi100
     */
    @GetMapping("edit2")
    public String edit2(@RequestParam("userId") Integer id, Model model) {
        System.out.println("*******************" + id);
        model.addAttribute("id" , id);
        return "/admin/ronghe/rongheMobileList/edit";
    }

(2)required:是否必需,默认为 true,即 请求中必须包含该参数,如果没有包含,将会抛出异常(可选配置)

   /**
    * @Description:    required = true时必须有参数id,否则会报错
    *                  required = false时参数id可不传,默认为null,所以此时参数类型不能为int
    * @Author:         vdi100
    */
    @GetMapping("edit3")
    public String edit3(@RequestParam(value = "id", required = true) Integer id, Model model) {
        System.out.println("*******************" + id);
        model.addAttribute("id" , id);
        return "/admin/ronghe/rongheMobileList/edit";
    }

(3)defaultValue:默认值,如果设置了该值,required 将自动设为 false,无论你是否配置了required,配置了什么值,都是 false;如果没有传该参数,就使用默认值(可选配置)

   /**
    * @Description:    设置defaultValue值时,required无论设置是何值,都默认为false
    * @Author:         vdi100
    */
    @GetMapping("edit4")
    public String edit4(@RequestParam(value = "id", required = false, defaultValue = "10") Integer id, Model model) {
        System.out.println("*******************" + id);
        model.addAttribute("id" , id);
        return "/admin/ronghe/rongheMobileList/edit";
    }

3、@RequestParam接收前台传递过来的数组

如下图传递的参数是数组:

@RequestParam接收参数:

   /**
    * @Description:    接收的参数ids是数组
    * @Author:         vdi100
    */
    @PostMapping("delete")
    @ResponseBody
    public RestResponse delete(@RequestParam(value = "ids[]", required = false) List<Long> ids) {
        if (null == ids) {
            return RestResponse.failure("ID不能为空" );
        }
        for (Long id : ids) {
            rongheMobileListService.deleteById(id);
        }
        return RestResponse.success();
    }

4、@RequestParam接收前台传递过来的Map<String, Object>

如下图前台ajax传递的参数data是一个Map<String, Object>:

@RequestParam接收参数:

   /**
    * @Description:    接收的参数data是Map<String, Object>
    * @Author:         vdi100
    */
    @PostMapping("entry")
    @ResponseBody
    public RestResponse add(@RequestParam(value = "data[mobile]") String mobile,
                            @RequestParam(value = "data[pro]") String pro,
                            @RequestParam(value = "data[realTime]", required = false) String realTime,
                            @RequestParam(value = "data[sjbm]", required = false) String sjbm,
                            @RequestParam(value = "data[sjmc]", required = false) String sjmc,
                            @RequestParam(value = "data[mobBm]", required = false) String mobBm,
                            @RequestParam(value = "data[mobMc]", required = false) String mobMc,
                            @RequestParam(value = "data[orderId]", required = false) String orderId,
                            @RequestParam(value = "data[sn]") String sn,
                            @RequestParam(value = "data[bakMobile]", required = false) String bakMobile) {

        return RestResponse.success();
    }

 

最后

以上就是听话春天为你收集整理的Spring @RequestParam注解的使用的全部内容,希望文章能够帮你解决Spring @RequestParam注解的使用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部