栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring学习之@Controller和@RestController的区别

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring学习之@Controller和@RestController的区别

@Controller和@RestController的区别
  • @Controller和@RestController的区别
    • 拓展

@Controller和@RestController的区别

首先这两个都是Spring里面的注解,标记当前类是一个Controller类,加上该注解会将当前类自动注入到spring容器中。同时也表示该类可以接收Http请求。

@Controller:标识一个Spring类是Spring MVC controller处理器;可以直接返回到前端界面

@RestController:是@Controller和@ResponseBody的合集,使用在类上,表示该类是控制器,并且类中所有控制器方法的返回值直接填入HTTP响应体中,是RESTful风格的控制器(主要用于更加方便的构建 RESTful Web 服务)。【@RestController注解有两个目的。首先他是一个类似于@controller和@Service的构造型注解,能够让类被组件扫描功能发现。但是,与REST最相关在于@RestController会告诉Spring,控制器中所有的处理器方法的返回值都要直接写入响应体中,而不是将值放到模型中并传递给一个视图以便于渲染。作为替代方案就是@Controller加上@Response。(以上内容源自源于spring实战第五版)】

跳转页面有区别
@Controller类中的方法可以直接通过返回String跳转到jsp、ftl、html等模版页面。在方法上加@ResponseBody注解,也可以返回实体对象。@RestController类中的所有方法只能返回String、Object、Json等实体对象,不能跳转到模版页面。

还有一个疑问:据老师说,Controller和RestController最大的区别是Controller是同步的,RestController是异步的。求证中,欢迎留言,谢谢。

拓展

什么是RESTful?RESTfule风格又是啥?

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/336762.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号