@RequestMapping和@RequestParam是啥?

本文深入解析了Spring MVC框架中@RequestMapping和@RequestParam注解的功能与用法。详细介绍了@RequestMapping如何通过value、path、consumes等属性实现HTTP请求的映射,以及@RequestParam如何指定请求参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考网址:https://blog.51cto.com/zero01/2085805

@RequestMapping注解

@RequestMapping 会将 HTTP 请求映射到 MVC 和 REST 控制器的处理方法上。
说人话就是:你可以把他想成是一个目录,这个RequestMapping相当于一个锚点,用于快速寻找一个方法的一个路径。可以让整个系统更有层次感,子父级关系更加清晰。
这个注解不仅可以用于方法上,还可以用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径,例如可以加个虚拟目录什么的。

代码示例:

@Controller
@RequestMapping("/test")
public class Test {

    @RequestMapping("/test.do")
    public void method(){
        System.out.println("This is a test output");
    }
}

此时,需要访问到该控制器中的method方法的话,就需要在访问网址后边加上 /test 这个虚拟目录,例如:

http://localhost:8090/test/test.do

常用属性:

项目中实战发现这样的语句最为常用:@RequestMapping(value = “/desktop/getXXX”, method = RequestMethod.GET)

在这里插入图片描述

1. value与path属性

这两个属性是一样的,用于指定HTTP请求资源(URI)的实际映射地址,当不指定具体的属性值时,默认是给该属性传递值,示例:

@Controller
@RequestMapping("/test")
public class Test {

    @RequestMapping(value = "/value.do")
    public void value(){
        System.out.println("value");
    }

    @RequestMapping(path = "/path.do")
    public void path(){
        System.out.println("path");
    }

    @RequestMapping("/method.do")
    public void method(){
        System.out.println("method");
    }
}

然后此时此刻,我们可以访问以下几个地址:

http://localhost:8090/test/value.do
http://localhost:8090/test/path.do
http://localhost:8090/test/method.do

2. consumes属性

这个属性指定了 需要处理的请求 所需要提交的 内容类型(Content-Type),例如application/json, text/html;等,示例:

@Controller
@RequestMapping("/test")
public class Test {

    // 只处理application/json的请求
    @RequestMapping(value = "json.do", consumes = "application/json")
    public void json(){
        System.out.println("application/json");
    }

    // 只处理text/html的请求
    @RequestMapping(path = "/xml.do", consumes = "text/html")
    public void xml() {
        System.out.println("text/html");
    }
}

@RequestParam

经过项目实战,发现这玩意就是指定请求参数有些什么的

@RequestParam(value = "username", defaultValue = "") String username,
@RequestParam(value = "companyID", defaultValue = "") String companyId
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值