1. 程式人生 > >關於@RestController和@Controller

關於@RestController和@Controller

  這兩天在實現返回json資料時遇到的問題,action執行完後預設從url中獲取欄位然後通過檢視解析器去查詢.jsp檔案,然後顯示找不到該檔案。

  後來找到了原因:之前使用了註解@controller。而為了返回response物件,應使用@Restresponse。@Restresponse是spring4.0重要的一個新的改進,它繼承自@Controller註解。

@RestController作用

  註解整合了@Controller和@ResponseBody。使用了這個註解的類會被看作一個controller。controller中使用@RequestMapping的方法有一個預設的@ResponseBody註解。@ResponseBody也可以加到類一級,通過繼承方法一級不需要新增。

@Responsebody 作用

  該註解用於將Controller的方法返回的物件,通過適當的HttpMessageConverter轉換為指定格式後,寫入到Response物件的body資料區。

使用時機

  返回的資料不是html標籤的頁面,而是其他某種格式的資料時(如json、xml等)使用。