【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中指定的属性名**保持一致即可:

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

相关推荐
MTingle2 分钟前
在线oj平台测试报告(持续更新中)
java·功能测试·selenium·java-ee·压力测试·可用性测试·模块测试
多多*27 分钟前
2024第十五届蓝桥杯大赛软件赛省赛Java大学B组 报数游戏 类斐波那契循环数 分布式队列 食堂 最优分组 星际旅行 LITS游戏 拼十字
java·linux·stm32·单片机·嵌入式硬件·spring·eclipse
程序媛学姐31 分钟前
SpringRabbitMQ消息发送:RabbitTemplate与消息确认
java·开发语言·spring
XiaoLeisj2 小时前
【MyBatis】深入解析 MyBatis:关于注解和 XML 的 MyBatis 开发方案下字段名不一致的的查询映射解决方案
xml·java·spring boot·spring·java-ee·tomcat·mybatis
信徒_2 小时前
Spring 中有哪些设计模式?
java·spring·设计模式
爱的叹息2 小时前
关于 Spring自定义缓存管理器 的详细说明,包含两种实现方式的对比和代码示例,并附表格总结
java·spring·缓存
山海不说话4 小时前
从零搭建微服务项目Pro(第7-1章——分布式雪花算法)
分布式·算法·spring·微服务·架构
whisperrr.4 小时前
【spring02】Spring 管理 Bean-IOC,基于 XML 配置 bean
xml·java·spring
ghostmen4 小时前
基于Spring Boot的HTTP请求签名验证实现解析
java·spring·http
不懂哥5 小时前
DefaultListableBeanFactory
java·spring