@RestController/@Controller/@ResponseBody
1) 如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,或者html,配置的视图解析器 InternalResourceViewResolver不起作用,返回的内容就是Return 里的内容。
2) 如果需要返回到指定页面,则需要用 @Controller配合视图解析器InternalResourceViewResolver才行。
如果需要返回JSON,XML或自定义mediaType内容到页面,则需要在对应的方法上加上@ResponseBody注解。
例如:
1.使用@Controller 注解,在对应的方法上,视图解析器可以解析return 的jsp,html页面,并且跳转到相应页面
若返回json等内容到页面,则需要加@ResponseBody注解
@CrossOrigin
@Controller
public class FileUploadController {//跳转到上传文件的页面
@RequestMapping(value="/gouploadimg", method = RequestMethod.GET)
public String goUploadImg() {
//跳转到 templates 目录下的 uploadimg.html
return "uploadimg";
}//处理文件上传
@RequestMapping(value="/testuploadimg", method = RequestMethod.POST)
public @ResponseBody String uploadImg(@RequestParam("file") MultipartFile file,
HttpServletRequest request) {
System.out.println("调用文件上传方法");
String contentType = file.getContentType();
String fileName = file.getOriginalFilename();
2.@RestController注解,相当于@Controller+@ResponseBody两个注解的结合,返回json数据不需要在方法前面加@ResponseBody注解了,但使用@RestController这个注解,就不能返回jsp,html页面,视图解析器无法解析jsp,html页面
@CrossOrigin @RestController /* @Controller + @ResponseBody*/ public class HospitalController {//注入Service服务对象@Autowiredprivate HospitalService hospitalService;/*** 查询所有医院信息(未分页)*/@RequestMapping(value = "findAllHospital",method = RequestMethod.GET)public List<Hospital> findAllHospital(){List<Hospital> hospitalList= hospitalService.findAllHospital();return hospitalList;}
@RestController/@Controller/@ResponseBody相关推荐
- @Controller @ResponseBody @RestController的基本含义与使用方法
@Controller 单据使用@Controller不加@ResponseBody,用于返回一个视图,该情况属于比较传统的Spring MVC应用,前后端不分离的场景. Spring回去resour ...
- java几个注解的作用及比较(@RestController、@Controller、@ResponseBody、@RequestBody等)
1.@Controller 标识一个Spring类是Spring MVC controller处理器,是一种特殊化的@Component 类,习惯于和@RequestMapping绑定来使用,后者是用 ...
- @RestController和@Controller注解的区别
2019独角兽企业重金招聘Python工程师标准>>> @RestController和@Controller是我们在前端控制层用在类上面的一个注解,这个我们大家都很熟悉. @Res ...
- 深入分析 RestController 与 Controller 的区别,你真的了解吗?
点击关注公众号,实用技术文章及时了解 @RestController和@Controller注解 我们都知道RestController默认都只提供Rest风格接口返回值,针对不需要返回页面的Cont ...
- 深入分析RestController与Controller
@RestController和@Controller注解 我们都知道RestController默认都只提供Rest风格接口返回值,针对不需要返回页面的Controller都采用RestContro ...
- 记一次@ResponseBody注解不生效问题
1.需求引入 前端(postman)调用后端方法要求如下这样调用,使用raw,格式是application/json,并且要求返回json格式字符串 2.示例代码 后端可以使用如下方式接收,以及返回 ...
- 搭建spring boot环境并测试一个controller
Idea搭建spring boot环境 一.新建项目 二.起步依赖 三.编写SpringBoot引导类 四.编写Controller 五.热部署 一.新建项目 1.新建project 2.选择Spri ...
- @ResponseBody ResponseEntity
@ResponseBody ResponseEntity 1.产生疑问 我们知道,如果在 Controller 的某个方法上加上 @ResponseBody 注解,那么你就能拿到 json 数据. 如 ...
- Spring Boot 学习之Controller
注解 用途 @Controller 处理http请求 @RestController spring 4 新加注解,@RestController = @Controller + @ResponseBo ...
最新文章
- 有一说一,AI 到底会不会伤害人类?
- 大厂来的水货CTO:低级bug被敲诈50万美元,事后删代码隐藏证据,最后收到死亡威胁...
- Leetcode 220. 存在重复元素 III 解题思路及C++实现
- mysql写法_MySQL基本语句写法
- 【采用】无监督核心聚类算法
- MySQL事务隔离级别详解
- GHOST光盘制作详细教程
- Spark RDD使用详解4--Key-Value型Transformation算子
- 【ArcGIS微课1000例】0001:添加XY数据(Add XY data)生成shp
- 【BCH码2】BCH码的快速BM迭代译码原理详解及MATLAB实现(不使用MATLAB库函数-代码见CSDN同名资源)
- 中文select 加载完成后再排序
- 10.11.5 brew mysql_Mac OS10.11下mysql5.7.12 安装配置方法图文教程
- 带你了解PCIE通信原理
- afterburner功耗限制调不了_为啥我的MSIAfterburner很多项都拖不了
- Git 图标无法正常显示解决方案
- 二阶魔方高级玩法公式
- 互联网黑暗森林法则:想活?别喘气儿!
- 牵线搭桥,『桥接模式』
- VBA·编译错误:ByRef参数类型不符
- 大学生必备:用Python实现shua课自由,又是美好的一天
热门文章
- Android注解使用之ButterKnife 8.0注解使用介绍
- 优秀ASP.NET程序员修炼之路
- php excel文件导出之二 图像导出
- 安卓开发日记(1) - 安装 Android 开发环境和 first app
- 安装jenkins插件的两种方法
- RIS镜像中添加网卡和RAID卡驱动方法及实践经验总结
- Delphi实现截屏功能
- OpenGL 开发环境配置(Windows) - Visual Studio 2017 + GLFW + GLAD 详细图文教程
- 图像处理——基于深度学习HED实现目标边缘检测
- VMware虚拟机中VMnet0上的网桥当前未运行