SpringMVC - SpringMVC注解汇总

回到顶部(go to top)

@RequestMapping vs @RequestBody

  • @RequestMapping:用于处理请求 url 映射的注解,可用于类或方法上。用于类上,则表示类中的所有响应请求的方法都是以该地址作为父路径。
  • @RequestBody:注解实现接收http请求的json数据,将json转换为java对象。
  • @ResponseBody:注解实现将conreoller方法返回对象转化为json对象响应给客户。

@RequestMapping 返回的东西,会经过视图解析器。例如:返回“hello”,会被视图解析器拼接为类似WEB-INF/jsp/HelloController/hello.jsp,然后去访问该jsp界面。

而@RequestBody 返回的东西,不会经过视图解析器。返回“hello”,就是一个字符串“hello”

 

 

回到顶部(go to top)

@Controller vs @RestController

@Controller 下面的方法,返回的值可能经过视图解析器拼接(@RequestMapping),也可能不经过(@RequestBody)

 

@RestController 下面的方法,返回的值就是一个字符串,不经过视图解析器。(常用!!!前后端分离的开发项目经常使用!!!

@RestController注解相当于@ResponseBody + @Controller

 

回到顶部(go to top)

@ControllerAdvice vs @RestControllerAdvice

@RestControllerAdvice 注解相当于 @ResponseBody + @ControllerAdvice

 

 

在Spring里,我们可以使用@ControllerAdvice来声明一些全局性的东西,最常见的是结合@ExceptionHandler注解用于全局异常的处理。

 

@ControllerAdvice是在类上声明的注解,其用法主要有三点:

 

  • @ExceptionHandler注解标注的方法:用于捕获Controller中抛出的不同类型的异常,从而达到异常全局处理的目的;
  • @InitBinder注解标注的方法:用于请求中注册自定义参数的解析,从而达到自定义请求参数格式的目的;
  • @ModelAttribute注解标注的方法:表示此方法会在执行目标Controller方法之前执行 。

@RestControllerAdvice 就是确保返回的是json数据格式.

 

posted on   frank_cui  阅读(84)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

levels of contents
点击右上角即可分享
微信分享提示