@RestController注解相当于是@ResponseBody和@Controller合并使用。
@Controller注解是将类标记为一个SpringMVC Controller,它是可以返回一个页面的。如果想在controller中返回一个页面,应该单独使用@Controller。
要想返回JSON,XML或自定义mediaType内容到页面,则需要在对应的方法上加上@ResponseBody注解。
这样如果多个方法都要返回JSON,XML或自定义mediaType内容到页面那么就需要每个方法上面加@ResponseBody注解,而@RestController注解这个注解恰好解决这个问题。
简单的记忆方法:
返回页面@Controller,
返回数据@RestController。
举个栗子:
@RestController
public class HelloController{
@RequestMapping("sayHi")
public String sayHi(){
return"Hello Spring Boot";
}
}
等于
@Controller
public class HelloController{
@RequestMapping("sayHi")
public @ResponseBody String sayHi(){
return"Hello Spring Boot";
}
}
网友评论