@RestController与@Controller的区别
时间: 2023-10-07 22:07:08 浏览: 110
@RestController和@Controller注解的区别1
@RestController和@Controller都是用于定义Spring MVC框架中的控制器类的注解。它们之间的区别如下:
1. 功能不同:@RestController注解是Spring4.0引入的新注解,它是@Controller和@ResponseBody注解的组合,用于标识RESTful风格的控制器类。@Controller注解用于标识普通的MVC控制器类。
2. 返回值处理方式不同:@RestController注解的方法默认将方法返回值直接作为HTTP响应体返回给客户端,而不是通过视图解析器进行视图渲染。@Controller注解的方法通常返回视图名称,然后通过视图解析器解析为具体的视图。
3. 注解使用约束不同:@RestController注解主要用于构建RESTful风格的Web服务,因此它只能用于类级别上,使用在控制器类上,不能用于方法级别。而@Controller注解可以用于类级别和方法级别,用于标识控制器类和处理请求的方法。
综上所述,@RestController注解适用于构建RESTful风格的控制器类,并且方法返回值直接作为HTTP响应体返回给客户端;而@Controller注解适用于普通的MVC控制器类,方法返回视图名称进行视图渲染。
阅读全文