springboot请求传参常用模板

注释很详细,直接上代码

项目结构

源码

HelloController

java 复制代码
package com.amoorzheyu.controller;

import com.amoorzheyu.pojo.User;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.*;

import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.List;

/*  注解标识请求处理类 */
@RestController
public class HelloController {

    /* 标识请求路径 */
    //test
    @RequestMapping( "/hello")
    public String hello(){
        System.out.println("hello world~");
        return "hello world~";
    }

    //简单参数的接收---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    /*
    * 直接接收名字需要一一对应,若无则为null */
    @RequestMapping( "/simpleParameter1")
    public String hello2(String name, Integer age){
        String str = "hello world~" + name+",age:"+age;
        System.out.println(str);
        return str;
    }

    /*
    * 可使用RequestParam修改变量映射名,默认为必须,如果未传则会报错
    * @value:映射的变量名
    * required:是否必须,默认为true
    * defaultValue:默认值
    *  */
    @RequestMapping( "/simpleParameter2")
    public String hello3(@RequestParam(value = "name111", defaultValue = "unknown user",required = false) String name,
                         @RequestParam(value = "age111", defaultValue = "18",required = false) Integer age){
        String str = "hello world~" + name+",age:"+age;
        System.out.println(str);
        return str;
    }

    //实体参数--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    /* 简单实体参数,需要字段名一一对应 */
    @RequestMapping( "/entityParameter1")
    public String hello4(User user){
        String str = "hello world~" + user.getName()+",age:"+user.getAge();
        System.out.println(str);
        return str;
    }

    /* 复杂实体参数,同理,传值为addres.province的形式 */
    @RequestMapping( "/entityParameter2")
    public String hello5(User user){
        String str = "hello world~" + user.getName()+",age:"+user.getAge()+",province:"+user.getAddres().getProvince()+",city:"+user.getAddres().getCity();
        System.out.println(str);
        return str;
    }

    //数组集合参数----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    /* 数组参数,请求参数名与形参中数组变量名相同,可以直接使用数组封装 */
    @RequestMapping( "/arrayParameter1")
    public String hello6(String[] name){
        System.out.println(Arrays.toString(name));
        return Arrays.toString(name);
    }

    /* 集合参数,请求参数名与形参中集合变量名相同,通过@RequestParam绑定参数关系 */
    @RequestMapping( "/arrayParameter2")
    public String hello7(@RequestParam List<String> hobby){
        System.out.println(hobby);
        return hobby.toString();
    }

    //日期时间类型参数--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    @RequestMapping( "/dateParameter")
    public String hello8(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime updateTime){
        System.out.println(updateTime);
        return updateTime.toString();
    }

    //json类型参数----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    @RequestMapping( "/jsonParameter")
    public String hello9(@RequestBody User user){
        System.out.println(user);
        return user.toString();
    }

    //路径参数----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    @RequestMapping(value = "/pathVariable/{id}/{type}")
    public String hello10(@PathVariable("id") String id, @PathVariable("type") String type){
        System.out.println(id+" "+type);
        return id+" "+type;
    }
}

Address

java 复制代码
package com.amoorzheyu.pojo;

public class Address {
    private  String province;
    private  String city;

    @Override
    public String toString() {
        return "Addres{" +
                "province='" + province + '\'' +
                ", city='" + city + '\'' +
                '}';
    }

    public String getProvince() {
        return province;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }
}

User

java 复制代码
package com.amoorzheyu.pojo;

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

    private Address address;

    public Address getAddres() {
        return address;
    }

    public void setAddress(Address address) {
        this.address = address;
    }

    public Integer getAge() {
        return age;
    }

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

    public String getName() {
        return name;
    }

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

    @Override
    public String toString() {
        return "User{" +
                "age=" + age +
                ", name='" + name + '\'' +
                ", addres=" + address +
                '}';
    }
}
相关推荐
海寻山4 分钟前
Java 泛型 (Generic) 入门到精通:语法 + 原理 + 实战 + 避坑
java·windows·python
李日灐6 分钟前
<1>Linux基础指令:Linux 高频指令详解 + 文件与目录认知
linux·运维·服务器·开发语言·后端·命令
艾莉丝努力练剑7 分钟前
【Linux线程】Linux系统多线程(七):<线程同步与互斥>线程同步(下)
java·linux·运维·服务器·c++·学习·操作系统
云烟成雨TD9 分钟前
Spring AI Alibaba 1.x 系列【15】工具执行拦截器(ToolInterceptor)
java·人工智能·spring
ch.ju12 分钟前
Java程序设计(第3版)第二章——逻辑运算符
java
喜欢流萤吖~14 分钟前
SpringBoot 异步处理与线程池实战
java·开发语言
大罗LuoSir14 分钟前
分布式微服务全貌了解-整体架构、特征和需关注解决的问题
java·缓存·微服务·zookeeper·容器·服务发现·负载均衡
野生技术架构师18 分钟前
2026年Java面试题集锦(含答案)
java·开发语言·面试
lolo大魔王19 分钟前
Go语言的defer语句和Test功能测试函数
开发语言·后端·golang
Sunia21 分钟前
告别样板代码:深度解析 Lombok 核心注解 @Builder 与 @RequiredArgsConstructor
java