当前位置: 首页 > java >正文

SpringMVC核心注解:@RequestMapping详解

概述

@RequestMapping是SpringMVC中最核心的注解之一,用于将HTTP请求映射到MVC和REST控制器的处理方法上。

基本功能

@RequestMapping主要用于:

  • 映射URL到控制器类或方法
  • 定义请求方法类型(GET、POST等)
  • 定义请求参数、请求头等条件

使用位置

类级别:定义基本请求路径

@RequestMapping("/order")
@Controller
public class OrderController {// ...
}

方法级别:定义具体路径和请求方法

@RequestMapping(value = "/findAll", method = RequestMethod.GET)
@ResponseBody
public List<Order> findAll() {// ...
}

主要属性

属性名说明示例
value/path映射的URL路径@RequestMapping("/orders")
method请求方法类型method = RequestMethod.GET
params请求方法参数params = "type=book"
headers请求头条件headers = "content-type=text/*"
consumes请求内容类型consumes = “application/json”
produces响应内容类型produces = “application/json”

常见组合注解

Spring 4.3+ 提供了更简洁的派生注解代码

注解

等价于

@GetMapping@RequestMapping(method = RequestMethod.GET)
@PostMapping@RequestMapping(method = RequestMethod.POST)
@PutMapping@RequestMapping(method = RequestMethod.PUT)
@DeleteMapping@RequestMapping(method = RequestMethod.DELETE)
@PatchMapping@RequestMapping(method = RequestMethod.PATCH)

路径变量

可以与@PathVariable配合使用

@GetMapping("/orders/{id}")
public Order getOrder(@PathVariable Long id) {// ...
}

示例代码

@RestController
@RequestMapping("/api/orders")
public class OrderController {@GetMappingpublic List<Order> getAll() {// 获取所有订单}@GetMapping("/{id}")public Order getById(@PathVariable Long id) {// 获取特定ID的订单}@PostMapping@ResponseStatus(HttpStatus.CREATED)public Order create(@RequestBody Order order) {// 创建新订单}@PutMapping("/{id}")public Order update(@PathVariable Long id, @RequestBody Order order) {// 更新订单}@DeleteMapping("/{id}")public void delete(@PathVariable Long id) {// 删除订单}
}
http://www.xdnf.cn/news/15562.html

相关文章:

  • java-字符串
  • modelscope ProxyError: HTTPSConnectionPool(host=‘www.modelscope.cn‘, port=443)
  • JxBrowser 7.43.5 版本发布啦!
  • HTML 常用语义标签与常见搭配详解
  • 图片画廊浏览(侧重 CSS 网格布局和模态框交互)
  • 代码随想录算法训练营第二十二天
  • 项目学习笔记 display从none切换成block
  • 基于SD-WAN的智慧高速解决方案:高效、低成本的智能交通实践
  • 数据结构 双向链表(2)--双向链表的实现
  • Kotlin集合聚合
  • ABP VNext + EF Core 二级缓存:提升查询性能
  • FAISS深度学习指南:构建高效向量检索系统的完整方法论
  • Dify工作流节点-Agent
  • 二分查找算法(一)
  • 玩转Docker | 使用Docker部署vnStat网络流量监控服务
  • Python编程基础(六)| 用户输入和while循环
  • 算法精讲--正则表达式(二):分组、引用与高级匹配技术
  • GENERALIST REWARD MODELS: FOUND INSIDE LARGELANGUAGE MODELS
  • 7.17 滑动窗口 |assign |memo |pii bfs
  • 【Linux】如何使用nano创建并编辑一个文件
  • 使用token调用Spring OAuth2 Resource Server接口错误 insufficient_scope
  • Redis1:高并发与微服务中的键值存储利器
  • 第四章 OB SQL调优
  • OJ题目里面的复杂图形的输出类型的汇总展示(巧妙地利用对称性offset偏移量)
  • 轻松将文件从 iPhone 传输到 Mac
  • 牛客:HJ26 字符串排序[华为机考][map]
  • 暑期算法训练.2
  • ArcGISPro应用指南:使用ArcGIS Pro创建与优化H3六边形网格
  • PHP 社区正在讨论变更许可证,预计 PHP 9.0 版本将完全生效
  • 基于MATLAB的决策树DT的数据分类预测方法应用