@RestController
注解是Spring MVC中的一个注解,它结合了 @Controller 和 @ResponseBody
两个注解的功能。使用 @RestController 注解的类表示该类是一个控制器,同时方法的返回值会直接写入HTTP响应体中,而无需通过视图解析器来渲染视图。
主要特点和用途包括:
-
简化开发: @RestController 注解可以简化开发,
避免在每个方法上都添加 @ResponseBody 注解
。 -
处理RESTful Web服务: @RestController 通常用于处理RESTful Web服务,方法的返回值会自动转换为
JSON
、XML等格式,方便客户端进行数据交互。 -
无需视图解析器: 使用 @RestController 时,不需要配置视图解析器,因为返回的数据会直接写入HTTP响应体中,而不是渲染为视图。
-
结合其他注解: @RestController 可以与其他注解结合使用,如 @RequestMapping 、 @GetMapping 、 @PostMapping 等,用于定义请求映射和处理不同HTTP方法的请求。
代码如下:
@RestController
public class ExampleRestController {
@GetMapping("/hello")
public String sayHello() {
return "Hello";
}
}
在上面代码中, ExampleRestController 类使用 @RestController 注解标记,表示这是一个RESTful服务的控制器。 sayHello 方法使用 @GetMapping(“/hello”) 注解定义了处理GET请求的路径为"/hello",方法的返回值会直接写入HTTP响应体中。