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";
    }
相关推荐
源代码•宸1 小时前
前置准备:架构设计方法论
经验分享·后端
geovindu1 小时前
java: Task Scheduler
java·开发语言·后端
神奇小梵1 小时前
java的特殊语法点,与常规语言相异的点
java·开发语言
loser.with.m1 小时前
【AgentScope 2.0】8-MCP 集成:Agent 的「USB-C 接口」是怎么接的
人工智能·spring boot·agentscope
代码不停1 小时前
Spring Boot 配置文件
spring boot·后端
无巧不成书02181 小时前
Tomcat 下载后使用全指南:解压、环境配置、启动验证与常见问题排查
java·tomcat
Wang's Blog2 小时前
Java框架快速入门: Spring Security+OAuth2之多因子认证缓存服务
java·spring·缓存
RuoyiOffice2 小时前
SpringBoot3+Vue3 招聘 Offer:发出、审批通过、转入职怎么走完
spring boot·vue3·offer·入职·spring boot 3·hrm·招聘管理
wuminyu2 小时前
Kafka配置TLS/SSL加密传输时零拷贝失效分析
java·linux·c语言·jvm·c++
边境悍匪2 小时前
蜗牛学苑 Java 智能体学习 Day41|ElementPlus 布局、Vue‑Router 登录、Axios 思维导图复盘
java·vue.js·学习