• SpringBoot请求响应


    目录

    一、简单参数

    原始方式(过于繁琐了解即可)

    SpringBoot方式

    二、实体参数

     三、数组集合参数

    四、日期参数

    五、JSON参数

    六、路径参数


    一、简单参数

    原始方式(过于繁琐了解即可)

    在原始的web程序中,获取请求参数,需要通过HttpServletRequest对象手动获取。

    1. @RequestMapping("/simpleParam")
    2. public String simpleParam(HttpServletRequest request){
    3. String name=request.getParameter("name");
    4. String ageStr=request.getParameter("age");
    5. int age=Integer.parseInt(ageStr);
    6. System.out.println(name+","+age);
    7. return "ok";
    8. }
    1. public String simpleParam(HttpServletRequest request):这是一个公共方法,返回类型为String。它接收一个HttpServletRequest类型的参数,用于获取HTTP请求的信息。

    2. String name=request.getParameter("name");:从HTTP请求中获取名为"name"的参数值,并将其赋值给变量name

    3. int age=Integer.parseInt(ageStr);:将字符串类型的ageStr转换为整数类型,并赋值给变量age

    SpringBoot方式

    简单参数:参数名与形参变量名相同,定义形参即可接收参数。

    1. @RequestMapping("/simpleParam")
    2. public String simpleParam(String name,Integer age){
    3. System.out.println(name+","+age);
    4. return "ok";
    5. }

    如果请求参数名 不一致,会导致接收失败,但是不会报错。 可以使用@RequestParam来完成映射。

    1. @RequestMapping("/simpleParam")
    2. public String simpleParam(@RequestParam(name="name") String username, Integer age){
    3. System.out.println(username+","+age);
    4. return "ok";
    5. }

     @RequestParam中的required属性默认为true,代表该请求参数必须传递,如果不传递将报错。如果该参数是可选的必须将required属性设置为false。

    二、实体参数

    User实体类代码如下:

    1. package com.example.demo.pojo;
    2. public class User {
    3. private String name;
    4. private Integer age;
    5. public User(String name, Integer age) {
    6. this.name = name;
    7. this.age = age;
    8. }
    9. public User() {
    10. }
    11. @Override
    12. public String toString() {
    13. return "User{" +
    14. "name='" + name + '\'' +
    15. ", age=" + age +
    16. '}';
    17. }
    18. public String getName() {
    19. return name;
    20. }
    21. public void setName(String name) {
    22. this.name = name;
    23. }
    24. public Integer getAge() {
    25. return age;
    26. }
    27. public void setAge(Integer age) {
    28. this.age = age;
    29. }
    30. }

    简单实体对象:请求参数与形参对象属性名相同,定义POJO接收即可。 

    1. @RequestMapping("/simplePojo")
    2. public String simplePojo(User user){
    3. System.out.println(user);
    4. return "ok";
    5. }

    复杂实体对象:请求参数名与形参对象属性名相同,按照对象层次结构关系即可接收嵌套POJO属性参数。

     三、数组集合参数

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

    1. @RequestMapping("/arrayParam")
    2. public String arrayParam(String [] hobby){
    3. System.out.println(Arrays.toString(hobby));
    4. return "ok";
    5. }

    集合参数:请求参数名与形参集合名称相同且请求参数为多个,@RequestParam绑定参数关系,默认情况下多个值封装在数组中。

    1. @RequestMapping("/listParam")
    2. public String listParam(@RequestParam List<String> hobby){
    3. System.out.println(hobby);
    4. return "ok";
    5. }

    四、日期参数

    日期参数:使用@DateTimeFormat注解完成日期参数格式转换,指定前端传递日期的格式。

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

    五、JSON参数

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

    1. @RequestMapping("/jsonParam")
    2. public String jsonParam(@RequestBody User user){
    3. System.out.println(user);
    4. return "ok";
    5. }

    六、路径参数

    路径参数:通过请求URL直接传递参数,使用{...}来表示该路径参数,需要使用@PathVariable获取路径参数。(可获取多个参数,直接在后面添加/{...}/{...})

    1. @RequestMapping("/path/{id}")
    2. public String pathParam(@PathVariable Integer id){
    3. System.out.println(id);
    4. return "ok";
    5. }

  • 相关阅读:
    广州蓝景分享—你需要深入了解一下JavaScript 的 new Functio
    2023双十一爆冷收场,订单后暗藏这些电商痛点问题需要注意
    iOS小技能:iOS15崩溃排查技巧(symbolicatecrash符号化分析问题、导出和隐藏符号)
    Lianwei 安全周报|2024.06.24
    【opencv】形态学重建案例-数糖果(细胞)个数
    git初级
    【力客热题HOT100】-【054】152 乘积最大子数组
    计算机算法分析与设计(13)---贪心算法(多机调度问题)
    离子液体[C2MIm]SbF6/cas:305370-81-4/1-乙基-3-甲基咪唑六氟锑酸盐的密度值
    糖尿病新世界杂志糖尿病新世界杂志社糖尿病新世界编辑部2022年第12期目录
  • 原文地址:https://blog.csdn.net/2302_77758423/article/details/139718102