我对@RestController注解的理解
对@RestController注解的理解
在Spring中@RestController的作用
等同于@Controller + @ResponseBody。
所以想要理解@RestController注解
就要先了解@Controller和@ResponseBody注解
@Controller注解
在一个类上添加@Controller注解,表明了这个类是一个控制器类。
这里省略对Controller注解的说明了。
@ResponseBody注解
@ResponseBody表示方法的返回值直接以指定的格式写入Http response body中,而不是解析为跳转路径。
格式的转换是通过HttpMessageConverter中的方法实现的,因为它是一个接口,因此由其实现类完成转换。
如果要求方法返回的是json格式数据,而不是跳转页面,可以直接在类上标注@RestController,而不用在每个方法中标注@ResponseBody,简化了开发过程。
@Controller和@RestController的区别:
@Controller:
- 在对应的方法上,视图解析器可以解析return 的jsp,html页面,并且跳转到相应页面
- 若返回json等内容到页面,则需要加@ResponseBody注解
@RestController:
- 相当于@Controller+@ResponseBody两个注解的结合
- 返回json数据不需要在方法前面加@ResponseBody注解了
- 但使用@RestController这个注解,就不能返回jsp,html页面,视图解析器无法解析jsp,html页面
代码示例
BuyerProductController
/**
* 买家商品
* Created by 李柏霖
* 2020/10/17 20:11
*/
package com.lbl.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/buyer/product")
public class BuyerProductController {
@GetMapping("/list")
public void list(){
}
}
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
SpringBoot2.0 整合 SpringSecurity 框架实现用户权限安全管理方法
Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。这篇文章主要介绍了SpringBoot2.0 整合 SpringSecurity 框架,实现用户权限安全管理 ,需要的朋友可以参考下2019-07-07


最新评论