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

SpringBoot常见注解

@RestController

是@ResponseBody和@Controller的耦合,

@Controller表示该类是一个控制器,@ResponseBody表示该控制器的方法返回的对象直接作为HTTP响应的正文,而不是作为一个视图(view)

写在参数列表中的注释

@PathVariable

@GetMapping("/users/{userId}")

  • 用于从URL模板中提取变量。
  • 当你定义了RESTful API时,可以使用它来捕获URL中定义的路径参数。
  • 例如,如果你有一个URL模式/users/{userId},并且请求的URL是/users/123,那么123可以作为userId参数传递给控制器方法。
  • 通常与@RequestMapping@GetMapping@PostMapping等注解一起使用。
@GetMapping("/users/{userId}")
public User getUserById(@PathVariable("userId") int userId) { // 根据userId获取用户信息 }

@RequestParam

  • 用于从请求的查询参数中提取值。
  • 它允许你访问URL的查询字符串部分,例如?name=value
  • 即使请求中没有指定参数,也可以使用required=false属性设置为非必须,或者通过defaultValue属性提供一个默认值。
  • 通常与@RequestMapping@GetMapping@PostMapping等注解一起使用。
@GetMapping("/search") 
public List<User> searchUsers(@RequestParam(value = "name", required = false) String name) { // 根据提供的name参数搜索用户 }

@RequestBody

  • @RequestBody 允许你将客户端发送的请求体(JSON、XML 等格式)自动转换(通过适当的转换器,如 Jackson 或 JAXB)并绑定到一个对象上。
  • 当使用 @RequestBody 时,期望客户端发送的请求有一个非空的请求体。如果请求体为空,Spring 将抛出异常。
  • 用于将 HTTP 请求的正文(body)映射到控制器方法的参数上。
  • 主要用于 POST、PUT 和 PATCH 等请求,这些请求通常需要客户端提交数据以创建或更新资源
@PostMapping("/users")
public ResponseEntity<?> addUser(@RequestBody User user) {// 将接收到的User对象保存到数据库userService.addUser(user);return ResponseEntity.ok().build();
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 数列分块<2>
  • int类型变量表示范围的计算原理
  • RISC-V指令集架构详细组成
  • ASP.NET Core 使用Log4net
  • elasticSearch快速了解
  • shark云原生-日志体系-ECK
  • 基于前馈神经网络 FNN 实现股票单变量时间序列预测(PyTorch版)
  • 打卡第9天-----字符串
  • MySQL 条件函数/加密函数/转换函数
  • 从零开始学习嵌入式----Makefile工具
  • 论文 | Chain-of-Thought Prompting Elicits Reasoningin Large Language Models 思维链
  • 大数据学习之Spark基础
  • 【Linux】Windows平台使用gdb调试FFmpeg源码
  • 【C++】类中的六个默认成员函数(构造函数、析构函数、拷贝构造函数、复制重载函数等)
  • MySQL 数据库基础概念
  • 10个最佳ES6特性 ES7与ES8的特性
  • Apache Pulsar 2.1 重磅发布
  • isset在php5.6-和php7.0+的一些差异
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • Webpack入门之遇到的那些坑,系列示例Demo
  • win10下安装mysql5.7
  • 不上全站https的网站你们就等着被恶心死吧
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 人脸识别最新开发经验demo
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 设计模式走一遍---观察者模式
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • ​一些不规范的GTID使用场景
  • #stm32整理(一)flash读写
  • #进阶:轻量级ORM框架Dapper的使用教程与原理详解
  • $.ajax()方法详解
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (pojstep1.1.1)poj 1298(直叙式模拟)
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (笔试题)分解质因式
  • (附源码)springboot 基于HTML5的个人网页的网站设计与实现 毕业设计 031623
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (过滤器)Filter和(监听器)listener
  • (力扣)循环队列的实现与详解(C语言)
  • (强烈推荐)移动端音视频从零到上手(下)
  • (三)uboot源码分析
  • (深入.Net平台的软件系统分层开发).第一章.上机练习.20170424
  • (四)事件系统
  • (算法设计与分析)第一章算法概述-习题
  • (转)Google的Objective-C编码规范
  • (转)关于如何学好游戏3D引擎编程的一些经验
  • *Django中的Ajax 纯js的书写样式1
  • .net Application的目录
  • .NET 除了用 Task 之外,如何自己写一个可以 await 的对象?
  • .net遍历html中全部的中文,ASP.NET中遍历页面的所有button控件