当前位置: 首页 > article >正文

@RequestMapping对不同参数的接收方式

目录

1、简单参数

2、实体参数

3、数组参数

4、集合参数

5、日期参数

6、JSON参数

7、路径参数


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请求:


http://www.kler.cn/news/359380.html

相关文章:

  • Bluetooth Channel Sounding中关于CS Step及Phase Based Ranging相应Mode介绍
  • 算法|牛客网华为机试1-10C++
  • LeetCode第100题:相同的树
  • 10-Python基础编程之函数
  • OpenLayers:构建现代Web地图应用
  • 用动态IP软件改变IP地址:探索原理与实用指南‌
  • CTFHUB技能树之文件上传——前端验证
  • Java中JSR303校验
  • Flux.merge 使用说明书
  • 基于STM32的工厂安防巡检机器人设计流程实现自主识别检测、机器人自主行驶、环境监控和数据采集
  • 传智杯 第六届—第二场—D
  • MATLAB支持的字体
  • 人工智能发展:一场从“被教导”到“自我成长”的奇妙冒险
  • MySQL—CRUD—进阶—(二) (ಥ_ಥ)
  • 【设计模式】深入理解Python中的过滤器模式(Filter Pattern)
  • 路由器概述
  • 学习最新vue20.17.0-事件处理
  • 从0开始深度学习(11)——多层感知机
  • 学习文档10/18
  • 关于k8s集群高可用性的探究