@RestController
@RestController 是 Spring Framework 中的一个注解,主要用于标识一个类是 RESTful 服务的控制器(Controller)。在 Spring MVC 中,通常使用 @Controller 注解来定义控制器类,而 @RestController 是 @Controller 的一个特殊版本,它结合了 @Controller 和 @ResponseBody 注解的功能。
具体来说,@RestController 注解用于标识一个类是 RESTful 服务的控制器,其作用相当于 @Controller + @ResponseBody 的组合。这意味着使用 @RestController 注解标识的类中的方法返回的数据会直接写入 HTTP 响应体中,而不会经过视图解析器进行渲染。
基本上,如果一个 Spring MVC 控制器类主要用于返回 JSON/XML 等数据格式的 RESTful 服务,就应该使用 @RestController 注解来标识这个类,以确保返回的数据直接写入 HTTP 响应体中。
示例代码如下:
javaCopy Code
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@GetMapping("/hello")
public String sayHello() {
return "Hello, World!";
}
}
在上面的示例中,HelloController 类使用 @RestController 注解标识,在 sayHello() 方法上使用 @GetMapping 注解来处理 GET 请求,并返回一个字符串。由于类被标记为 @RestController,返回的字符串会直接作为 HTTP 响应的内容返回给客户端,而不会经过视图解析器进行渲染。
浙公网安备 33010602011771号