SpringBoot请求响应

目录

一、简单参数

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

SpringBoot方式

二、实体参数

三、数组集合参数

四、日期参数

五、JSON参数

六、路径参数


一、简单参数

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

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

   @RequestMapping("/simpleParam")
    public String simpleParam(HttpServletRequest request){
        String name=request.getParameter("name");
        String ageStr=request.getParameter("age");
        int age=Integer.parseInt(ageStr);
        System.out.println(name+","+age);
        return "ok";
    }
  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方式

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

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

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

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

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

二、实体参数

User实体类代码如下:

package com.example.demo.pojo;

public class User {
    private String name;
    private Integer age;

    public User(String name, Integer age) {
        this.name = name;
        this.age = age;
    }

    public User() {
    }

    @Override
    public String toString() {
        return "User{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }
}

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

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

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

三、数组集合参数

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

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

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

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

四、日期参数

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

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

五、JSON参数

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

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

六、路径参数

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

@RequestMapping("/path/{id}")
    public String pathParam(@PathVariable Integer id){
        System.out.println(id);
        return "ok";
    }
相关推荐
记录成长java26 分钟前
ServletContext,Cookie,HttpSession的使用
java·开发语言·servlet
睡觉谁叫~~~30 分钟前
一文解秘Rust如何与Java互操作
java·开发语言·后端·rust
程序媛小果1 小时前
基于java+SpringBoot+Vue的旅游管理系统设计与实现
java·vue.js·spring boot
小屁孩大帅-杨一凡1 小时前
java后端请求想接收多个对象入参的数据
java·开发语言
java1234_小锋2 小时前
使用 RabbitMQ 有什么好处?
java·开发语言
TangKenny2 小时前
计算网络信号
java·算法·华为
肘击鸣的百k路2 小时前
Java 代理模式详解
java·开发语言·代理模式
城南vision2 小时前
Docker学习—Docker核心概念总结
java·学习·docker
wyh要好好学习2 小时前
SpringMVC快速上手
java·spring
尢词2 小时前
SpringMVC
java·spring·java-ee·tomcat·maven