在 Controller 中使用@RestController注解
时间: 2024-12-09 11:13:21 浏览: 18
在Spring MVC框架中,`@RestController`是一个注解,用于标记控制器类,表示该类处理HTTP请求并将响应结果直接返回给客户端,通常用于RESTful API的开发。当一个控制器类被`@RestController`注解时,它将自动启用JSON支持,并且默认采用`MappingJackson2HttpMessageConverter`来序列化和反序列化JSON数据。
当你在一个Controller类上使用`@RestController`,可以省去手动配置`@ResponseBody`或`ModelAndView`,因为Spring会自动识别HTTP请求方法(如GET、POST等)并将其映射到相应的处理器方法。例如:
```java
@RestController
public class MyController {
@GetMapping("/hello")
public String sayHello() {
return "Hello from REST controller!";
}
}
```
在这个例子中,`sayHello()`方法会处理GET请求到"/hello"路径,返回一个简单的字符串响应。
相关问题
Controller中的@RestController注解
@RestController注解是Spring框架中的一个注解,它是@Controller和@ResponseBody注解的结合体。使用@RestController注解的类可以直接返回JSON、XML等内容,而不需要在方法上添加@ResponseBody注解。同时,@RestController注解还可以自动将返回值转换为JSON格式。
举个例子,如果我们在Controller中使用@RestController注解,那么我们可以直接返回一个JSON格式的字符串,如下所示:
```java
@RestController
public class UserController {
@GetMapping("/user")
public User getUser() {
User user = new User();
user.setName("Tom");
user.setAge(20);
return user;
}
}
```
在上面的例子中,我们使用@GetMapping注解来处理GET请求,并且直接返回了一个User对象。由于我们在类上使用了@RestController注解,因此Spring会自动将返回值转换为JSON格式。
@RestController注解与@Controller注解
@RestController注解相当于@ResponseBody和@Controller合在一起的作用。在Spring4之后新加入的注解,它是@ResponseBody和@Controller的组合注解。与@Controller注解相比,@RestController注解的返回值不会跳转一个页面,而是返回String、Object、json等实体对象。因此,一般在前后端分离的项目中,或者整个控制层无需中转跳转页面时使用@RestController注解。
阅读全文