天天看點

SpringMVC - SpringMVC注解彙總

@RequestMapping vs @RequestBody

@RequestMapping:用于處理請求 url 映射的注解,可用于類或方法上。用于類上,則表示類中的所有響應請求的方法都是以該位址作為父路徑。

@RequestBody:注解實作接收http請求的json資料,将json轉換為java對象。

@ResponseBody:注解實作将conreoller方法傳回對象轉化為json對象響應給客戶。

@RequestMapping 傳回的東西,會經過視圖解析器。例如:傳回“hello”,會被視圖解析器拼接為類似WEB-INF/jsp/HelloController/hello.jsp,然後去通路該jsp界面。

而@RequestBody 傳回的東西,不會經過視圖解析器。傳回“hello”,就是一個字元串“hello”

SpringMVC - SpringMVC注解彙總

@Controller vs @RestController

@Controller 下面的方法,傳回的值可能經過視圖解析器拼接(@RequestMapping),也可能不經過(@RequestBody)

@RestController 下面的方法,傳回的值就是一個字元串,不經過視圖解析器。(常用!!!前後端分離的開發項目經常使用!!!)

@RestController注解相當于@ResponseBody + @Controller