What is `@RequestMapping` does?

SpringMVC框架中,@RequestMapping 用于映射HTTP请求控制器类控制器类中方法
这个注解可以应用在类级别方法级别上。

使用样例

包含路径变量和HTTP方法:

@Controller
@RequestMapping("/api/v1")
public class MyApiController {@GetMapping("/users/{userId}")public ResponseEntity<User> getUser(@PathVariable("userId") Long id) {User user = userService.findById(id);if (user == null) {return ResponseEntity.notFound().build();}return ResponseEntity.ok(user);}@PostMapping("/users")public ResponseEntity<User> createUser(@RequestBody User newUser) {User createdUser = userService.createUser(newUser);return ResponseEntity.created(URI.create("/api/v1/users/" + createdUser.getId())).body(createdUser);}@PutMapping("/users/{userId}")public ResponseEntity<User> updateUser(@PathVariable("userId") Long id, @RequestBody User updatedUser) {// 更新用户逻辑...return ResponseEntity.ok(updatedUser);}@DeleteMapping("/users/{userId}")public ResponseEntity<Void> deleteUser(@PathVariable("userId") Long id) {userService.deleteById(id);return ResponseEntity.noContent().build();}
}

结合路径变量、请求参数和查询参数:

@Controller
@RequestMapping("/orders")
public class OrderController {@GetMapping("/{id}")public String getOrderDetails(@PathVariable("id") Long orderId,@RequestParam(name = "includeHistory", required = false, defaultValue = "false") boolean includeHistory) {// 获取订单详情以及根据请求参数决定是否包含历史记录...return "order-details";}
}

包含请求参数和header:

@Controller
@RequestMapping("/search")
public class SearchController {@GetMappingpublic String search(@RequestParam(value = "q", required = false, defaultValue = "") String query,@RequestHeader(value = "X-Search-Preferences", required = false) String preferences) {// 搜索逻辑,基于query参数和header中的偏好信息...return "search-results";}
}

使用Ant风格路径匹配:

@Controller
@RequestMapping("/documents/**")
public class DocumentController {@GetMappingpublic String listDocuments() {// 列出所有文档逻辑...return "document-list";}@GetMapping("/{docId}")public String viewDocument(@PathVariable("docId") String docId) {// 查看特定文档逻辑...return "document-view";}
}

处理不同请求头和媒体类型的请求:

@Controller
@RequestMapping("/api")
public class MediaTypeController {@GetMapping(path = "/data", produces = "application/json")public MyData getJsonData() {// 返回JSON格式的数据...return new MyData();}@GetMapping(path = "/data", produces = "application/xml")public MyData getXmlData() {// 返回XML格式的数据...return new MyData();}@PostMapping(path = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)public ResponseEntity<String> handleFileUpload(@RequestParam("file") MultipartFile file) {// 处理文件上传逻辑...return ResponseEntity.ok("File uploaded successfully");}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/623928.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【TensorRT】DeviceToHost同步与异步拷贝的区别及带来的问题

cudaMemcpy与cudaMemcpyAsync的区别与问题 cudaMemcpy与cudaMemcpyAsync的区别一、认识stream流二、tensorRT推理的常规流程三、遇到的问题四、引用与参考文献 cudaMemcpy与cudaMemcpyAsync的区别 一、认识stream流 在cuda中&#xff0c;一个stream是由主机代码发布的一系列在…

数据结构期末复习(C语言版)

一、绪论 1.数据结构的术语 数据&#xff1a;所有能输入计算机并被计算机程序处理的符号的总称&#xff1b;数据元素&#xff1a;数据的基本单位&#xff1b;数据项&#xff1a;组成数据元素的、有独立含义的、不可分割的最小单位&#xff1b;数据对象&#xff1a;是性质相同…

免费chartGPT网站汇总

https://s.suolj.com - &#xff08;支持文心、科大讯飞、智谱等国内大语言模型&#xff0c;Midjourney绘画、语音对讲、聊天插件&#xff09;国内可以直连&#xff0c;响应速度很快 很稳定 https://seboai.github.io - 国内可以直连&#xff0c;响应速度很快 很稳定 http://gp…

kotlin的泛型浅析

在Kotlin中&#xff0c;泛型是一种强大的编程概念&#xff0c;它允许你编写更加灵活和可重用的代码&#xff0c;同时提高类型安全性。Kotlin的泛型系统与Java的相似&#xff0c;但有一些更强大的特性。以下是关于Kotlin泛型的一些重要概念和用法&#xff1a; 1. 基本概念&…

数据结构学习 jz44 数字序列中某一位的数字

关键词&#xff1a;找规律 数学 题目&#xff1a;LCR 163. 找到第 k 位数字 虽然做出来了但是做了十万年&#xff0c;我是猪。主要还是找到准确的规律。 思路&#xff1a; //找规律 //0-9 占了10个位置 //10-99 占了90*2个位置 //100-999 占了900*3个位置 //1000-9999 占了90…

优思学院|质量管理五大工具和七大手法要点总结|2024

在现代企业管理中&#xff0c;质量管理是核心竞争力的重要组成部分。它不仅关系到产品的品质&#xff0c;更直接影响到企业的市场信誉和经济效益。本文将深入探讨质量管理中的五大工具及七大手法&#xff0c;这些工具和手法都贯穿了六西格玛DMAIC五步的方法论之中&#xff0c;是…

主流图片压缩格式

主流图片压缩格式主要分为两类&#xff1a;有损压缩和无损压缩。这些格式根据不同的应用场景和需求被广泛使用。 下面是一些常见的图片压缩格式&#xff1a; 有损压缩格式 JPEG (Joint Photographic Experts Group): 最常见的图片格式之一&#xff0c;广泛用于网页图像、摄影和…

「JavaSE」类和对象2

&#x1f387;个人主页&#xff1a;Ice_Sugar_7 &#x1f387;所属专栏&#xff1a;快来卷Java啦 &#x1f387;欢迎点赞收藏加关注哦&#xff01; 类和对象2 &#x1f349;匿名对象&#x1f349;关键字static&#x1f34c;static修饰成员变量&#x1f34c;static修饰成员方法&…

如何正确使用数据库的读写分离

本文已收录至我的个人网站&#xff1a;程序员波特&#xff0c;主要记录Java相关技术系列教程&#xff0c;共享电子书、Java学习路线、视频教程、简历模板和面试题等学习资源&#xff0c;让想要学习的你&#xff0c;不再迷茫。 背景 在应用系统发展的初期&#xff0c;我们并不知…

uniapp使用Android Studio离线打包

环境准备 Android Studio&#xff1a; 下载地址APP离线SDK下载&#xff1a; 下载地址; 目前我使用得是“Android-SDK3.8.7.81902_20230704”&#xff1b;需要与hbuider版本配套使用。Appkey: 参考我 以上三步准备好后&#xff0c;进行接下来的不住&#xff1a; 准备工程 导…

SpringCloud Config配置中心详解及环境搭建

前言 我们之前介绍并且搭建过eureka、zuul、hystrix组件。本节介绍的config是SpringCloud五大组件的最后一个&#xff0c;还有一个是Ribbon ----- 客服端负载均衡&#xff0c;之前我们有简单介绍过☞Eureka、Nacos注册中心及负载均衡原理&#xff0c;直接使用注解LoadBalanced…

统计学习 复习(知识点+习题)

复习资料&#xff1a;https://github.com/RuijieZhu94/StatisticalLearning_USTC 第一章 线性回归 1. From one to two 最小二乘 课后题 有偏/无偏估计 加权最小二乘 2. Regularization 线性回归&#xff08;二维情况&#xff09; 求解有约束优化问题 正则化最小加权二乘…

MySQL数据库SQL优化详解

MySQL数据库SQL优化是一个涵盖广泛的主题&#xff0c;涉及索引、查询结构、数据类型选择、存储引擎、事务处理等多个方面。以下是一些关键的SQL优化策略和技巧&#xff1a; 1. 索引优化 创建合适的索引&#xff1a;对经常出现在 WHERE、JOIN 条件、ORDER BY 和 GROUP BY 子句…

ByConity 社区回顾|ByConity 和开发者们一起展望未来,携手共进!

更多技术交流、求职机会&#xff0c;欢迎关注字节跳动数据平台微信公众号&#xff0c;回复【1】进入官方交流群 新年伊始&#xff0c;我们想在这里感谢一群 ByConity 社区的小伙伴们。 正是因为有社区的开发者的支持&#xff0c;截止到 2023 年底&#xff0c;ByConity GitHub …

Python 格式化输出:精确控制你的数据表示

目录 旧式的 % 运算符&#xff08;不推荐&#xff09; str.format() 方法 位置和关键字参数&#xff1a; 格式化数字&#xff1a; f-string 表达式和函数调用&#xff1a; 格式化数字&#xff1a; 格式规范的微调 &#xff08;核心&#xff09; 对齐字符串 填充字符 …

2023年全国职业院校技能大赛软件测试赛题—单元测试卷⑥

单元测试 一、任务要求 题目1&#xff1a;根据下列流程图编写程序实现相应分析处理并显示结果。返回结果“ax&#xff1a;”&#xff08;x为2、3或4&#xff09;&#xff1b;其中变量x、y均须为整型。编写程序代码&#xff0c;使用JUnit框架编写测试类对编写的程序代码进行测试…

Java基础 - 黑马

我是南城余&#xff01;阿里云开发者平台专家博士证书获得者&#xff01; 欢迎关注我的博客&#xff01;一同成长&#xff01; 一名从事运维开发的worker&#xff0c;记录分享学习。 专注于AI&#xff0c;运维开发&#xff0c;windows Linux 系统领域的分享&#xff01; 知…

第二十四章 $ZF Callout 快速参考 - $ZF()调用iriszf库

文章目录 第二十四章 $ZF Callout 快速参考 - $ZF()调用iriszf库$ZF()调用iriszf库$ZF() $ZF(-3): Call by Name$ZF(-3) 第二十四章 $ZF Callout 快速参考 - $ZF()调用iriszf库 $ZF()调用iriszf库 如果调用$ZF()时不带负数参数(例如&#xff0c;$ZF("myFunction "&…

剖析一下Mask R-CNN获得实例分割的这三个步骤。第一步,利用先验框获得建议框。第二步,利用建议框获得预测框。第三步,利用预测框获得语义分割结果。

问题描述&#xff1a; 剖析一下Mask R-CNN获得实例分割的这三个步骤。第一步&#xff0c;利用先验框获得建议框。第二步&#xff0c;利用建议框获得预测框。第三步&#xff0c;利用预测框获得语义分割结果。 问题解答&#xff1a; 生成建议框&#xff08;Region Proposal&…

Linux IDEA 安装及环境配置

Linux系统安装IDEA保姆级教程_linux安装idea-CSDN博客 下载tar.gz解压缩添加环境变量&#xff1a; vim ~/.bashrc export IDEA_HOME/usr/local/src/idea/idea-IC-213.6777.52 export PATH:$PATH:${IDEA_HOME}/bin source ~/.bashrc验证环境&#xff1a;echo $PATH即可在任意目录…