@responsebody和@controller与@restcontroller的区别
时间: 2023-10-04 08:13:00 浏览: 103
@Controller、@RestController注解区别详解
5星 · 资源好评率100%
`@ResponseBody`、`@Controller` 和 `@RestController` 都是 Spring MVC 框架中用于处理 HTTP 请求的注解。
- `@ResponseBody`:通常用于标记在方法上,表示该方法的返回值直接作为 HTTP 响应体,而不是被解释为视图名称。常用于返回 JSON 或 XML 数据。
- `@Controller`:标记一个类作为 Spring MVC 控制器,用于处理 HTTP 请求和响应。通常需要结合视图解析器来使用,将处理结果解释为视图名称,再由视图解析器渲染成 HTML 等格式的视图。
- `@RestController`:是 Spring4 之后新加入的注解,它相当于 `@Controller` 和 `@ResponseBody` 的结合体,即既处理 HTTP 请求和响应,又直接返回数据,常用于编写 RESTful API。
总之,`@ResponseBody` 和 `@RestController` 都是用于返回数据的,而 `@Controller` 则需要配合视图解析器来返回视图。
阅读全文