1. Controller, RestController的共同點
都是用來表示Spring某個類的是否可以接收HTTP請求
2. Controller, RestController的不同點
@Controller: 辨別一個Spring類是Spring MVC controller處理器
@RestController: @RestController是@Controller和@ResponseBody的結合體,兩個标注合并起來的作用。
@Controller類中的方法可以直接通過傳回String跳轉到jsp、ftl、html等模版頁面。在方法上加@ResponseBody注解,也可以傳回實體對象。
@RestController類中的所有方法隻能傳回String、Object、Json等實體對象,不能跳轉到模版頁面。
@RestController中的方法如果想跳轉頁面,則用ModelAndView進行封裝,如下:
示例如下:
@Controller注解源碼:
@RestController注解源碼: