spring的RequestMapping注解

本文介绍了Spring框架中@RequestMapping注解的使用,包括用于类和方法的声明,以及它的属性如values、method、path等。此外,还提到了@RequestParam注解如何绑定请求参数,以及Spring 4.3引入的快捷方式如@GetMapping、@PostMapping等。

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

spring的RequestMapping注解

@RequestMapping 是 Spring Web 应用程序中最常被用到的注解之一。这个注解会将 HTTP 请求映射到 MVC 和 REST 控制器的处理方法上。

RequestMapping可以用于类和方法上,用于类上表示所有响应请求的方法都是以地址作为父路径如下

访问地址必须以 /user/RequestMpping来访问

@Controller
@RequestMapping(path = ("user"))
public class HelloController {
//访问地址可以填多个如:RequestMapping和hello
   @RequestMapping( value = {"/RequestMpping","/hello"},params = {"name=zhangsan"},headers ="Accept")//必须传值名字为name 如果name=zhangsan
    public String RequestMpping(){
        System.out.println("RequestMapping");
        return "success";
    }
}
RequestMapping有以下这几个属性:
  1. values:请求的实际地址
  2. method: 指定请求的method类型, GET、POST、PUT、DELETE;所有的请求默认都会是 HTTP GET 类型的。
  3. path:和values用法相同,相当于values。
  4. params:使用requset方式传值或访问时,提交时必须带有该类型。如:params = {“name=zhangsan”},必须要有/RequestMpping?name=zhangsan
  5. headers: 根据请求中的消息头内容缩小,请求映射,的范围。如 “Accept”,“content-type=text/plain” ,“content-type=text/html”
  6. produces:指定返回值类型,不但可以返回值的类型还可以设置返回值的字符编码
  7. consumes:指定处理请求的提交内容(Content-Type),如:application/json, text/html;
带有@RequestParam的RequestMapping

可以把传过来的参数和方法参数绑定在一起代码如下


 @RequestMapping( value = {"/RequestMpping","/hello"})
    public String RequestMpping(@RequestParam("name") String name){
        System.out.println("RequestMapping");
        return "success";
    }
    //如果请求参数和处理方法参数的名称一样的话,@RequestParam 注解的 value 这个参数就可省掉了
  @RequestMapping( value = {"/RequestMpping","/hello"},method = {RequestMethod.GET})
    public String RequestMpping(@RequestParam(required = false//定义该值不是必须要传的值,
    defaultValue = "zhangsan"//当没有值传入时自定义一个值) 
    String name){
        System.out.println(name);
        return "success";
    }
RequestMapping的快捷方式

Spring 4.3 引入了 @RequestMapping 的组合注解。组合注解可以更好的表达被注解方法的语义。它们所扮演的角色就是针对 @RequestMapping 的封装。
例如,@GetMapping 相当于@RequestMapping(method =RequestMethod.GET) 的一个快捷方式。
方法级别的注解变体有如下几个:
@GetMapping
@PostMapping
@PutMapping
@DeleteMapping
@PatchMapping

本文有部分是从网上收集而来,如果有侵权请联系删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值