博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
@Controller和@RestController的区别?
阅读量:6996 次
发布时间:2019-06-27

本文共 1583 字,大约阅读时间需要 5 分钟。

@RestController注解相当于@ResponseBody + @Controller合在一起的作用

1)如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,配置的视图解析器InternalResourceViewResolver不起作用,返回的内容就是Return 里的内容。

例如:本来应该到success.jsp页面的,则其显示success.

2)如果需要返回到指定页面,则需要用 @Controller配合视图解析器InternalResourceViewResolver才行。

3)如果需要返回JSON,XML或自定义mediaType内容到页面,则需要在对应的方法上加上@ResponseBody注解。

 

例如:

1.使用@Controller 注解,

在对应的方法上,视图解析器可以解析return 的jsp,html页面,并且跳转到相应页面

若返回json等内容到页面,则需要加@ResponseBody注解

@CrossOrigin@Controllerpublic class FileUploadController {//跳转到上传文件的页面@RequestMapping(value="/gouploadimg", method = RequestMethod.GET)public String goUploadImg() {//跳转到 templates 目录下的 uploadimg.htmlreturn "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服务对象    @Autowired    private HospitalService hospitalService;    /**     * 查询所有医院信息(未分页)     */    @RequestMapping(value = "findAllHospital",method = RequestMethod.GET)    public  List
findAllHospital(){ List
hospitalList= hospitalService.findAllHospital(); return hospitalList; }

 

小舟从此逝,江海寄余生。 --狐狸

转载地址:http://fjdvl.baihongyu.com/

你可能感兴趣的文章
广西男子酒驾冲撞宵夜摊多人受伤 民众自发抬车救人
查看>>
QuestMobile:抖音快手双巨头并进 短视频时长超越在线视频
查看>>
2019年春运首日 河北实现“空地一体”立体化救援
查看>>
蚂蚁金服mPaaS 3.0发布 助力客户智能化构建超级App生态
查看>>
Mongodb数据库误删后的恢复
查看>>
整理些PHP的学习方向资料
查看>>
关于vue开发的常见问题
查看>>
IT,互联网,科技,技术博客网站推荐
查看>>
如何实现全屏遮罩(附Vue.extend和el-message源码学习)
查看>>
你或许不知道Vue的这些小技巧
查看>>
Promise源码学习(1)
查看>>
[项目推荐] Corcel 让你在 WordPress 中使用 Laravel
查看>>
阿里:千亿交易背后的0故障发布
查看>>
Node+express+mongoose 基础笔记
查看>>
利用angular4和nodejs-express构建一个简单的网站(十)—好友模块
查看>>
极光大数据告诉你,程序员们都在"愁"些啥?
查看>>
从Hash到散列表到HashMap
查看>>
前端基础知识学习记录(三)
查看>>
原型链类原理
查看>>
我的订单
查看>>