您的位置:首页 > 编程语言 > Java开发

Spring @Controller vs @RestController

2017-04-10 00:00 429 查看
今天在写一段测试代码时,发现一个奇怪的问题,方法正常调用,但是无法正常返回期望的JSON,反而出现一个奇怪的错误页面,代码也没有抛出异常。经过检查发现,误将RestController写成了Controller。所以特意去搜索了两个注解的区别,记录如下。

Controller 属于传统的方式,流程如下:


由图可知,controller返回之后,需要由dispather找到对应的view,然后才返回客户端。而由于需要返回JSON格式,而非某个view,可采用以下方法:

在方法上加上 @ResponseBody
public @ResponseBody


定义方法返回值为ResponseEntity<T>

在spring4.0之后,引入了RestController注解,该注解相当于@Controller + @ResponseBody,简化了API 的开发方式。

参考:

RestController与Controller的对比
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Spring Boot Rest