2020-10-29

@Controller和@RestController的区别

记录访问访问不到页面的问题
springBoot工程访问页面问题
1.Application启动类和Controller路径不在一个包下
2.Controller层要加注解@RestController

我们一般都会在Controller上加上@Controller注解,但是有时候也见有加上@RestController的,现在就说说他们的区别:

1、不同。

@Controller类中的方法可以直接通过返回String跳转到jsp、ftl、html等模版页面。在方法上加@ResponseBody注解,也可以返回实体对象。

@RestController类中的所有方法只能返回String、Object、Json等实体对象,不能跳转到模版页面。

@RestController相当于@ResponseBody + @Controller。

2、补充

@RestController中的方法如果想跳转页面,则用ModelAndView进行封装,如下:

@RestController
public class UserController {
@RequestMapping(value = “/index”,method = RequestMethod.GET)
public String toIndex(){
ModelAndView mv = new ModelAndView(“index”);
return mv;
}
}

记录点滴

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页