@RequestMapping对不同参数的接收方式示例详解

 更新时间:2024年10月17日 11:49:12   作者:李小先  
Spring MVC框架中,@RequestMapping注解用于映射URL到控制器方法,不同的参数类型如简单参数、实体参数、数组参数、集合参数、日期参数和JSON参数,本文给大家介绍@RequestMapping对不同参数的接收方式,感兴趣的朋友一起看看吧

1、简单参数

1、参数名与形参变量名相同,定义形参即可接收参数,且会自动进行类型转换。

@RequestMapping("/simple")
    public  String simpleParam(String name,int age){
        String username = name;
        int userAge = age;
        System.out.println(username+"========"+userAge);
        return  "OK";
    }

postman请求:

2、参数名与形参变量名不同,用requestParam

@RequestMapping("/simple2")
    public  String simpleParam2(@RequestParam(value = "name",required = false) String s_name, @RequestParam(name = "age") int s_age){
        String username = s_name;
        int userAge = s_age;
        System.out.println(username+"========"+userAge);
        return  "OK";
    }

postman请求:

注意:@RequestParam的required默认为true,也就是说用@RequestParam指定的参数是必传项,否则报错。

2、实体参数

1、简单实体对象

请求参数名与形参对象属性名相同,定义POJO接收即可

public class User {
    String name;
    int age;
        //省略get和set方法,toString()
}
@RequestMapping("/simplePojo")
    public String simplePojo(User user){
        System.out.println(user);
        return "OK";
    }

postman请求:

2、复杂实体对象

public class User {
    String name;
    int age;
    Address address;
}
public class Address {
    String province;
    String city;
}
@RequestMapping("/complexPojo")
public String complexPojo(User user){
    System.out.println(user);
    return "OK";
}

 postman请求:

3、数组参数

请求参数名与形参数组名称相同且请求参数为多个,定义数组类型形参即可接收参数

@RequestMapping("/arrayParam")
public String arrayParam(String[] hobby){
    System.out.println(Arrays.toString(hobby));
    return "OK";
}

postman请求:

4、集合参数

请求参数名与形参集合名称相同且请求参数为多个,@RequestParam绑定参数关系

@RequestMapping("/listParam")
public String listParam(@RequestParam List<String> hobby){
    System.out.println(hobby);
    return "OK";
}

postman请求:

5、日期参数

使用@DateTimeFormat注解完成日期参数格式转换

@RequestMapping("/dateParam")
public String dateParam(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime updateTime){
    System.out.println(updateTime);
    return "OK";
}

 postman请求:

6、JSON参数

JSON数据键名与形参对象属性名相同,定义POJO类型形参即可接收参数,需要使用@RequestBody标识

@RequestMapping("/jsonParam")
    public String jsonParam(@RequestBody User user){
        System.out.println(user);
        return "OK";
    }

postman请求:

7、路径参数

通过请求URL直接传递参数,使用 {......}来标识该路径参数,需要使用@PathVariable获取路径参数

@RequestMapping("/path/{id}")
    public String pathParam(@PathVariable(value = "id") Integer id){
        System.out.println(id);
        return "OK";
    }

postman请求:

多个路径参数:

@RequestMapping("/path/{id}/{name}")
    public String pathParam(@PathVariable(value = "id") Integer id,@PathVariable String name){
        System.out.println(id);
        System.out.println(name);
        return "OK";
    }

postman请求:

到此这篇关于@RequestMapping对不同参数的接收方式的文章就介绍到这了,更多相关@RequestMapping参数的接收方式内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java如何通过反射获取私有构造、私有对象、私有字段、私有方法

    Java如何通过反射获取私有构造、私有对象、私有字段、私有方法

    这篇文章主要介绍了Java如何通过反射获取私有构造、私有对象、私有字段、私有方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • IntellJ idea使用FileWatch实时编译less文件的方法

    IntellJ idea使用FileWatch实时编译less文件的方法

    这篇文章主要介绍了IntellJ idea使用FileWatch实时编译less文件的相关资料,需要的朋友可以参考下
    2018-02-02
  • Java吃货联盟订餐系统代码实例

    Java吃货联盟订餐系统代码实例

    这篇文章主要介绍了Java订餐系统,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • java显示当前的系统时间

    java显示当前的系统时间

    这篇文章主要介绍了java如何显示当前的系统时间,代码很简单,自己可以自定义显示的系统时间的颜色和字体,需要的朋友可以参考下
    2015-10-10
  • 基于Springboot的漫画网站平台设计与实现

    基于Springboot的漫画网站平台设计与实现

    本文将基于Springboot实现开发一个漫画主题的网站,实现一个比漂亮的动漫连载的网站系统,界面设计优雅大方,比较适合做毕业设计和课程设计使用,需要的可以参考一下
    2022-08-08
  • Spring Boot实现发送邮件

    Spring Boot实现发送邮件

    这篇文章主要为大家详细介绍了Spring Boot实现发送邮件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • Java中Spring MVC接收表单数据的常用方法

    Java中Spring MVC接收表单数据的常用方法

    Spring MVC是Spring框架中的一个模块,用于开发基于MVC(Model-View-Controller)架构的Web应用程序,它提供了一种轻量级的、灵活的方式来构建Web应用,同时提供了丰富的功能和特性,本文给大家介绍了Spring MVC接收表单数据的方法,需要的朋友可以参考下
    2024-05-05
  • 如何使用JAVA实现数字水印

    如何使用JAVA实现数字水印

    本文介绍了如何使用JAVA实现数字水印,主要用到了java.awt包中的AlphaComposite类,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2015-07-07
  • Java+opencv3.2.0实现hough圆检测功能

    Java+opencv3.2.0实现hough圆检测功能

    这篇文章主要为大家详细介绍了Java+opencv3.2.0实现hough圆检测,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • spring boot上传文件出错问题如何解决

    spring boot上传文件出错问题如何解决

    这篇文章主要介绍了spring boot上传文件出错问题如何解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01

最新评论