为什么80%的码农都做不了架构师?>>>   

官方文档:
@RestController is a stereotype annotation that combines @ResponseBody and @Controller.
意思是:
@RestController注解相当于@ResponseBody + @Controller合在一起的作用。

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

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

2)如果需要返回到指定页面,则需要用 @Controller配合视图解析器InternalResourceViewResolver才行。
3)如果需要返回JSON,XML或自定义mediaType内容到页面,则需要在对应的方法上加上@ResponseBody注解。

总结:@RestController

整个类所有方法不再返回视图页面,全部返回方法中定义的返回内容,比如json:

例如:

package com.kbs.platform.controller;import java.util.HashMap;
import java.util.Map;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;@RequestMapping("/json")
@RestController
public class JsonController {@RequestMapping("/map")public Map<String, String> getmap(){Map<String, String> map=new HashMap<>();map.put("a", "b");map.put("c", "d");map.put("d", "小家心");return map;}@RequestMapping("/body")public Map<String, String> getmap2(){Map<String, String> map=new HashMap<>();map.put("a", "b");map.put("c", "d");map.put("d", "小家心");return map;}}
//实例二 @ResponseBody + @Controller
//这个类的方法既可以返回视图,又可以返回想要的数据package com.kbs.platform.controller;import java.util.HashMap;
import java.util.Map;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;@RequestMapping("/json")
@Controller
public class JsonController {//这个方法返回视图,没有对应的视图就会报错@RequestMapping("/map")public Map<String, String> getmap(){Map<String, String> map=new HashMap<>();map.put("a", "b");map.put("c", "d");map.put("d", "小家心");return map;}//这个方法返回json 不再返回视图@RequestMapping("/body")public Map<String, String> getmap2(){Map<String, String> map=new HashMap<>();map.put("a", "b");map.put("c", "d");map.put("d", "小家心");return map;}}

转载于:https://my.oschina.net/mifans/blog/779156

@Controller和@RestController的区别相关推荐

  1. @Controller与@RestController的区别以及ircular view path [ad]: would dispatch back to the current handler异常

    QUESTION:@Controller与@RestController的区别以及ircular view path [ad]: would dispatch back to the current ...

  2. java controller注解原理_@Controller、@RestController注解区别详解

    @Controller.@RestController注解区别: @RestController 注解相当于 @Controller + @ResponseBody 合在一起的作用. 一.@Contr ...

  3. Controller和RestController的区别

    1. Controller, RestController的共同点 都是用来表示Spring某个类的是否可以接收HTTP请求 2.  Controller, RestController的不同点 @C ...

  4. springmvc 中@Controller和@RestController的区别

    1.Controller, RestController的共同点 都是用来表示Spring某个类的是否可以接收HTTP请求 2.Controller, RestController的不同点 @Cont ...

  5. @Controller和@RestController的区别?

    @RestController注解相当于@ResponseBody + @Controller合在一起的作用 1) 如果只是使用@RestController注解Controller,则Control ...

  6. spring里面 @Controller和@RestController注解的区别

    问题:spring里面 @Controller和@RestController注解的区别 spring里面 @Controller和@RestController注解的区别 Web MVC和REST ...

  7. 《spring-boot学习》-12-@controller和@RestController的区别?

    1.概述 @Controller和@RestController的区别? 官方文档: @RestController is a stereotype annotation that combines ...

  8. Spring MVC和REST中@RestController和@Controller注释之间的区别

    Spring MVC中的@RestController注释不过是@Controller和@ResponseBody注释的组合. 它已添加到Spring 4.0中,以简化在Spring框架中RESTfu ...

  9. Spring中@Controller和@RestController之间的区别

    1. Controller, RestController的共同点 都是用来表示Spring某个类的是否可以接收HTTP请求 2.  Controller, RestController的不同点 @C ...

最新文章

  1. 巧用CSS的RevealTrans滤镜
  2. Spring Boot(三) 将war文件部署到tomcat 、 Thymeleaf示例
  3. 2020CCPC绵阳
  4. [转载] 手工制作Win7 OEM版
  5. 孤独的周鸿祎,落寞的 360
  6. Delay-Doppler equalization(8)(时延多普勒均衡)⭐
  7. 设计模式详解——模版方法模式
  8. 网易云音乐 For Mac
  9. 独立站客服如何友好推送折扣券
  10. 近年热门细胞研究话题颂通大盘点
  11. mysql relaylog清理_mysql 清除relay-log文件方法详解
  12. 6python项目 体脂率计算优化2
  13. 如何判断网站被黑?网站被黑如何应对?如何防止网站被黑?
  14. 小码哥C++_汇编指令
  15. 伸展树(一) - 概念和C实现
  16. 求10个数中的最大值及其对应的下标
  17. 计算机教育学研究方法,广西师大 教育学 孙杰远《教育研究方法》知识点笔记1.pdf...
  18. 《金融学从入门到精通》读书摘记
  19. 一劳永逸让windows 64位操作系统 禁止强制驱动签名
  20. zabbix的搭建和简单使用

热门文章

  1. 详解struts2中struts.properties
  2. oracle cast multiset table 语法演示
  3. telnet命令详解
  4. velocity用法简单实例说明 .
  5. XP系统,CMD窗口总是只显示最后一屏的信息,如何能让全部信息都显示出来呢??
  6. oracle 函数索引
  7. linux swap交换分区说明/管理
  8. Unity内置的三套消息发送机制的应用实例
  9. Xamarin Android 所见即所得问题
  10. javascript省市三层联动,修改