SpringMVC

@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”

@Controller vs @RestController

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

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

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

原文地址:https://www.cnblogs.com/frankcui/p/14083749.html