@RestController详解
时间: 2023-10-02 22:07:52 浏览: 113
@RestController 是 Spring Framework 中的一个注解,用于标记一个类,表示这个类是一个 RESTful Web 服务的控制器。它结合了@Controller和@ResponseBody两个注解的功能。
@Controller注解表示这个类是一个控制器,用于处理 HTTP 请求,并返回响应给客户端。@ResponseBody注解表示方法返回的结果直接作为 HTTP 响应正文(ResponseBody)的内容返回给客户端。这意味着方法返回的对象将被自动序列化为 JSON/XML 等格式的数据,而不是被视图解析器解析为 HTML 页面。这使得控制器方法可以直接返回数据对象,而不必将它们封装在 ModelAndView 或 Model 中。
@RestController 主要用于构建 RESTful Web 服务,RESTful 是一种 Web 架构风格,它采用 HTTP 协议中的一些方法(如 GET、POST、PUT、DELETE 等)来处理资源,让客户端通过简单的 URL 访问服务器上的资源,并用 JSON 或 XML 等格式返回数据。使用@RestController 注解标记的类可以通过 HTTP 方法来处理请求,并返回 JSON/XML 等格式的数据给客户端。
举个例子,一个使用 @RestController 注解的控制器可以如下定义:
```
@RestController
@RequestMapping("/api")
public class MyRestController {
@GetMapping("/hello")
public String sayHello() {
return "Hello, world!";
}
}
```
这个控制器处理 /api/hello 的 GET 请求,并返回 "Hello, world!" 给客户端。由于使用了@RestController 注解,方法的返回值将会直接作为 HTTP 响应的正文返回给客户端。
阅读全文