官方文檔:
@RestController is a stereotype annotation that combines @ResponseBody and @Controller.
意思是:
@RestController注解相當(dāng)于@ResponseBody + @Controller合在一起的作用
1)如果只是使用@RestController注解Controller配椭,則Controller中的方法無法返回jsp頁面,配置的視圖解析器InternalResourceViewResolver不起作用撵术,返回的內(nèi)容就是Return 里的內(nèi)容永高。
例如:本來應(yīng)該到success.jsp頁面的测暗,則其顯示success.
2)如果需要返回到指定頁面,則需要用 @Controller配合視圖解析器InternalResourceViewResolver才行。
3)如果需要返回JSON狈邑,XML或自定義mediaType內(nèi)容到頁面,則需要在對應(yīng)的方法上加上@ResponseBody注解
ControllerAdvice
控制器增強(qiáng) spring初始化的時(shí)候可以掃描到該注解@ControllerAdvice注解內(nèi)部使用@ExceptionHandler蚤认、@InitBinder米苹、@ModelAttribute注解的方法應(yīng)用到所有的?@RequestMapping注解的方法。非常簡單砰琢,不過只有當(dāng)使用@ExceptionHandler最有用蘸嘶,另外兩個(gè)用處不大
可以利用該注解實(shí)現(xiàn)異常全局統(tǒng)一處理,不必在單個(gè)controller中去處理
RestControllerAdvice 與ControllerAdvice類似