@RestController注解,相当于@Controller+@ResponseBody两个注解的结合,

返回json数据不需要在方法前面加@ResponseBody注解了,但使用@RestController这个注解,就不能返回jsp,html页面,视图解析器无法解析jsp,html页面

@ResponseBody 表示该方法的返回结果直接写入 HTTP response body 中,一般在异步获取数据时使用【也就是AJAX】,

在使用 @RequestMapping后,返回值通常解析为跳转路径,

但是加上 @ResponseBody 后返回结果不会被解析为跳转路径,

而是直接写入 HTTP response body 中。 比如异步获取 json 数据,

加上 @ResponseBody 后,会直接返回 json 数据。

@RequestBody 将 HTTP 请求正文插入方法中,使用适合的 HttpMessageConverter 将请求体写入某个对象。

@Controller
@RequestMapping("falarmUser")
public class FAlarmUserController { private static final Logger logger = LoggerFactory.getLogger(FAlarmUserController.class); @Autowired
private FAlarmUserService fAlarmUserService; /**
* 添加用户
* @param userEntity
* @return
*/
@PostMapping("addUser")
public Object addUser(@RequestBody FAlarmUserEntity userEntity){
logger.info("添加成员的信息 : "+userEntity.toString());
Response res = new Response();
res = fAlarmUserService.addUser(userEntity);
return res;
}
} Response 类: @JsonInclude(value = JsonInclude.Include.NON_EMPTY)
public class Response implements Serializable { private static final long serialVersionUID = 1L; private Integer code; private Object data; private String message; public Response() {
super();
} public Integer getCode() {
return code;
} public void setCode(Integer code) {
this.code = code;
} public Object getData() {
return data;
} public void setData(Object data) {
this.data = data;
} public String getMessage() {
return message;
} public void setMessage(String message) {
this.message = message;
}
}

1、如果是用@RestController ,请求之后返回的结果如下。

2、如果使用 @Controller,返回结果 如下;

@Controller 注解不能将结果写入到  HTTP response body 中,因而无法正常显示。

SpringMVC的 @RestController和@Controller 区别的更多相关文章

  1. SpringMVC中@RestController和@Controller的区别

    在使用SpringMVC时,对于Controller中的注解@RestController和@Controller需要我们区分清楚 @RestController注解相当于@ResponseBody和 ...

  2. @Restcontroller与@controller区别

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

  3. @RestController和@Controller区别

    1) 如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,或者html,配置的视图解析器 InternalResourceViewRe ...

  4. Spring @RestController、@Controller区别

    一.用@Controller,返回的是页面:@Controller加上@ResponseBody,返回的是JSON.XML或其他文本. @Controller @RequestMapping(&quo ...

  5. restcontroller和controller区别

    http://www.cnblogs.com/softidea/p/5884772.html#undefined http://blog.csdn.net/blueheart20/article/de ...

  6. RestController 和Controller的区别

    restful风格,restcontroller与controller 初步接触springmvc的时候,被要求使用restful风格,彼时一头雾水,不懂何谓restful,参阅了很多资料,慢慢的接触 ...

  7. SpringBoot 中常用注解@Controller/@RestController/@RequestMapping的区别

    SpringBoot中常用注解@Controller/@RestController/@RequestMapping的区别 @Controller 处理http请求 @Controller //@Re ...

  8. @restcontroller与@controller的区别

    这段时间偷偷看了下spring boot.结果引用模板时没注意,把@restcontroller替换了@controlle,结果模板出不来.终究原因是spring的知识不到位. 下面说说这2的说明和区 ...

  9. 注解@RestController与@Controller的区别

    开发RESTful API 时,一般都会在Controller上加上@Controller注解,但是有时候加上@RestController,当同事问为什么的时候,我也一脸懵逼,默默的看了资料,现在就 ...

随机推荐

  1. jquery.cookie 介绍 和 用法

    1.依赖jQuery库 2.浏览器兼容性情况 3.下载 官方github:https://github.com/carhartl/jquery-cookie 4.使用 创建一个整站cookie $.c ...

  2. 三大语言实例 (python,C/C++,Java)

    Python3.5语言实例: #coding = utf-8 import sys def Sub_string(a,b): c=[0]*len(b) for i in range(len(a)): ...

  3. Hdu1051 Wooden Sticks 2017-03-11 23:30 62人阅读 评论(0) 收藏

    Wooden Sticks Problem Description There is a pile of n wooden sticks. The length and weight of each ...

  4. 使用 log4j 打印日志

    开发阶段:发现程序的问题,排错 产品阶段:记录程序运行的状况 Maven中配置依赖 通过配置文件输出日志的格式,输送的位置等 一.入门实例 1.新建一个JAva工程,导入包log4j-1.2.17.j ...

  5. Git管理

    在bitbucket用git用法 核心流程:从远端中心repo那里git clone到本地,再在本地开发(add,commit),通常会利用branch管理,如果觉得code没问题了,就push到远端 ...

  6. Mybatis 模糊查询 like【笔记】Could not set parameters for mapping

    当使用mybatis 做模糊查询时如果这样写 会报 Could not set parameters for mapping: ParameterMapping{property='keywords' ...

  7. 【转载】45个设计师们不常见的html5和css3漂亮模板

    对于Web开发人员来说,当他们需要创建一个非常时尚和新潮的CSS3和HTML5网站时需要非常专业的水准.html5和css3的结合能够做出非同寻常的网站效果..所以,今天,我推荐给大家45个免费的时尚 ...

  8. Tempdb--Snapshot

    The insert operation does not cause a row version to be generated because there is really no prvious ...

  9. solr特点五: MoreLikeThis(查找相似页面)

    在 Google 上尝试一个查询,您会注意到每一个结果都包含一个 “相似页面” 链接,单击该链接,就会发布另一个搜索请求,查找出与起初结果类似的文档.Solr 使用MoreLikeThisCompon ...

  10. Bootstrap模态框modal的高度和宽度设置

    (1)高度 将style=“height:900px”放在<div class = "modal-dialog">或者更外层上,整个模态框的高度不会发生变化 如下图所示 ...