美文网首页
关于@Controller和@RestController的理解

关于@Controller和@RestController的理解

作者: 我就要取名叫夏末 | 来源:发表于2018-07-06 10:25 被阅读0次

@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";
    }
}

相关文章

网友评论

      本文标题:关于@Controller和@RestController的理解

      本文链接:https://www.haomeiwen.com/subject/audvuftx.html