controller和 restcontroller区别
时间: 2024-03-22 12:33:36 浏览: 54
@Controller、@RestController注解区别详解
5星 · 资源好评率100%
@Controller和@RestController的区别在于,@RestController相当于@Controller+@ResponseBody,即@RestController注解的类中的方法都会以json格式返回数据,而@Controller则需要在方法上添加@ResponseBody注解才能以json格式返回数据。
举个例子,假设我们有一个UserController类,其中有一个getUser()方法,返回一个User对象。如果使用@Controller注解,则需要在getUser()方法上添加@ResponseBody注解才能以json格式返回数据,代码如下:
```java
@Controller
public class UserController {
@RequestMapping("/user")
@ResponseBody
public User getUser() {
User user = new User();
user.setName("Tom");
user.setAge(18);
return user;
}
}
```
如果使用@RestController注解,则不需要在getUser()方法上添加@ResponseBody注解,代码如下:
```java
@RestController
public class UserController {
@RequestMapping("/user")
public User getUser() {
User user = new User();
user.setName("Tom");
user.setAge(18);
return user;
}
}
```
阅读全文