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";
    }
相关推荐
ohoy13 小时前
RedisTemplate 使用之Zset
java·开发语言·redis
独断万古他化13 小时前
【Spring 核心: IoC&DI】从原理到注解使用、注入方式全攻略
java·后端·spring·java-ee
毕设源码_郑学姐13 小时前
计算机毕业设计springboot基于HTML5的酒店预订管理系统 基于Spring Boot框架的HTML5酒店预订管理平台设计与实现 HTML5与Spring Boot技术驱动的酒店预订管理系统开
spring boot·后端·课程设计
梵得儿SHI13 小时前
(第四篇)Spring AI 核心技术攻坚:多轮对话与记忆机制,打造有上下文的 AI
java·人工智能·spring·springai生态·上下文丢失问题·三类记忆·智能客服实战案
希忘auto13 小时前
SpringBoot之统一数据返回格式
java·spring
不吃香菜学java13 小时前
spring-依赖注入
java·spring boot·后端·spring·ssm
ja哇13 小时前
Spring AOP 详细讲解
java·后端·spring
南部余额13 小时前
Spring Boot 整合 MinIO:封装常用工具类简化文件上传、启动项目初始化桶
java·spring boot·后端·文件上传·工具类·minio·minioutils
海南java第二人13 小时前
Spring Bean生命周期深度剖析:从创建到销毁的完整旅程
java·后端·spring
QQ196328847513 小时前
ssm基于Springboot+的球鞋销售商城网站vue
vue.js·spring boot·后端