03 資料輸入-輸出

kk阿彬發表於2020-11-04

資料輸入

handler method 引數繫結常用的註解,我們根據他們處理的Request的不同內容部分分為四類:

A、處理request uri 部分(這裡指uri template中variable,不含queryString部分)的註解: @PathVariable;
B、處理request header部分的註解: @RequestHeader,@CookieValue;
C、處理request body部分的註解:@RequestParam(SpringMVC預設註解), @RequestBody;

D、處理attribute型別是註解: @SessionAttributes, @ModelAttribute;
@RequestParam和@PathVariable的用法與區別
@RequestBody和@RequestParam區別詳解,最後有參考連結 都看看
@RequestBody的使用,非常好

資料輸出

在這裡插入圖片描述

Model、ModelMap和ModelAndView的使用詳解

ModelAndView詳解

@ResponseBody解析
@ResponseBody的作用其實是將java物件轉為json格式的資料。

@responseBody註解的作用是將controller的方法返回的物件通過適當的轉換器轉換為指定的格式之後,寫入到response物件的body區,通常用來返回JSON資料或者是XML資料。
注意:在使用此註解之後不會再走檢視處理器,而是直接將資料寫入到輸入流中,他的效果等同於通過response物件輸出指定格式的資料。

@ResponseBody是作用在方法上的,@ResponseBody 表示該方法的返回結果直接寫入 HTTP response body 中,一般在非同步獲取資料時使用【也就是AJAX】。
注意:在使用 @RequestMapping後,返回值通常解析為跳轉路徑,但是加上 @ResponseBody 後返回結果不會被解析為跳轉路徑,而是直接寫入 HTTP response body 中。 比如非同步獲取 json 資料,加上 @ResponseBody 後,會直接返回 json 資料。@RequestBody 將 HTTP 請求正文插入方法中,使用適合的 HttpMessageConverter 將請求體寫入某個物件。
在這裡插入圖片描述
在這裡插入圖片描述

@RestController vs @Controller
ResponseEntity和@ResponseBody以及@ResponseStatus區別

相關文章