【JavaEE】_Spring MVC项目获取URL中的参数

目录

[1. 单参数](#1. 单参数)

[2. 多参数](#2. 多参数)


1. 单参数

.java文件如下:

java 复制代码
package com.example.demo.controller;

import com.example.demo.Person;
import org.springframework.web.bind.annotation.*;

import java.util.Arrays;
import java.util.List;

@RequestMapping("/Para")
@RestController
public class ParaController {
    @RequestMapping("/M9/{userId}")
    public String m9(@PathVariable Integer userId){
        return "userId: "+userId;
    }

}

运行启动类,使用postman构造HTTP请求,其中URL带有参数,构造完成后发送,详情如下:

注意URL的格式要与@RequestMapping注解的格式一致:

2. 多参数

.java文件如下:

java 复制代码
package com.example.demo.controller;

import com.example.demo.Person;
import org.springframework.web.bind.annotation.*;

import java.util.Arrays;
import java.util.List;

@RequestMapping("/Para")
@RestController
public class ParaController {
    @RequestMapping("/M9/{userId}/{name}")
    public String m9(@PathVariable Integer userId,@PathVariable String name){
        return "userId: "+userId+"\n"
                +"name:"+name;
    }

}

运行启动类,使用postman构造请求,其中URL有2个参数,详情如下:

注意URL多参数时:

(1).java文件中,在函数参数部分,每一个参数都需要一个@PathVariable注解

(2)请求的URL部分参数需要与.java文件中@RequestMapping注解中的格式保持一致;

(3)URL中的参数与后端的.java代码的对应是有顺序且个数严格匹配的,比如类型不匹配,参数顺序错误与少传与多传参数都会引起错误;

(4)若后端需对接收到的请求重命名,可以在@PathVariable注解中标明属性名:

java 复制代码
    @RequestMapping("/M9/{userId}/{name}")
    public String m9(@PathVariable Integer userId,@PathVariable("name") String username){
        return "userId: "+userId+"\n"
                +"username:"+username;
    }

只需保证**@RequestMapping中指定的URL格式中的属性名** 与**@PathVariable中指定的属性名**保持一致即可:

再次运行并发送请求可见:

相关推荐
optimistic_chen1 小时前
【Java EE进阶 --- SpringBoot】Spring DI详解
spring boot·笔记·后端·spring·java-ee·mvc·di
速易达网络1 小时前
ASP.NET MVC 连接 MySQL 数据库查询示例
数据库·asp.net·mvc
麦兜*3 小时前
MongoDB 6.0 新特性解读:时间序列集合与加密查询
数据库·spring boot·mongodb·spring·spring cloud·系统架构
Chan163 小时前
【智能协同云图库】基于统一接口架构构建多维度分析功能、结合 ECharts 可视化与权限校验实现用户 / 管理员图库统计、通过 SQL 优化与流式处理提升数据
java·spring boot·后端·sql·spring·intellij-idea·echarts
ponnylv5 小时前
深入剖析Spring Boot自动配置原理
spring boot·spring
金色天际线-10 小时前
Nginx 优化与防盗链配置指南
java·后端·spring
cyforkk18 小时前
Spring 异常处理器:从混乱到有序,优雅处理所有异常
java·后端·spring·mvc
Z_z在努力18 小时前
【杂类】Spring 自动装配原理
java·spring·mybatis
mabo_9704@163.com20 小时前
SpringAI调用MCP服务的实现思路
spring·ai
小小工匠20 小时前
SpringBoot - Spring 资源加载全解析:ResourceLoader 与 ResourceUtils 的正确打开方式
spring boot·spring·resourceloader·resourcutils