@requestmapping是spring mvc最基础的请求映射注解,用于类或方法上绑定http请求;支持ant路径、参数、请求头等精细化匹配;推荐优先使用@getmapping等语义化派生注解。

在 Spring MVC 中,@RequestMapping 是最基础的请求映射注解,用于将 HTTP 请求(如 GET、POST)绑定到控制器方法上。它既可以标注在类上定义公共路径前缀,也可以标注在方法上指定具体路由和请求方式。
基本用法:类 + 方法两级映射
通常推荐在控制器类上用 @RequestMapping 定义模块级路径前缀,方法上再细化具体路径和请求类型:
- 类上标注:
@RequestMapping("/user")表示该控制器所有接口都以/user开头 - 方法上标注:
@RequestMapping(value = "/list", method = RequestMethod.GET)表示响应GET /user/list - 可简写为:
@GetMapping("/list")(Spring 4.3+ 推荐使用派生注解)
支持多种匹配条件
@RequestMapping 的 value 支持 Ant 风格路径,还可配合参数、请求头等做精细化匹配:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
-
@RequestMapping("/user/**")匹配/user/下任意层级子路径 -
@RequestMapping(value = "/user", params = "type=admin")只处理带?type=admin的请求 -
@RequestMapping(value = "/api/data", headers = "Content-Type=application/json")限定请求头
注意方法签名与返回值处理
被 @RequestMapping 标注的方法需有明确语义,Spring 会根据返回值类型自动处理响应:
- 返回
String(如"user/list"):默认解析为视图名,走 Thymeleaf 或 JSP 渲染 - 返回
@ResponseBody注解的对象(或整个类加@RestController):转为 JSON/XML 返回给前端 - 参数可直接声明如
@RequestParam、@PathVariable、@RequestBody,Spring 自动绑定
替代方案更简洁(建议优先使用)
虽然 @RequestMapping 功能全面,但日常开发中更推荐语义化更强的派生注解:
-
@GetMapping→@RequestMapping(method = RequestMethod.GET) -
@PostMapping→@RequestMapping(method = RequestMethod.POST) -
@PutMapping、@DeleteMapping、@PatchMapping同理 - 它们更直观、不易出错,且支持组合属性(如
@GetMapping(path = "/users", params = "active=true"))
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










