2023-01-20
一、SpringMVC訊息轉換器概述
1、HttpMessageConverter<T>
訊息轉換器作用:
(1)將java物件與請求報文及回應報文進行相互轉化

(2)使用HttpMessageConverter<T>將請求資訊轉化并系結到處理方法的入參中或將回應結果轉為對應型別的回應資訊,Spring提供了兩種途徑:
①使用@RequestBody/@@ResponseBody對處理方式進行標注,
②使用HttpEntity<T>/ResponseEntity<T>作為處理方法的入參或回傳值,
二、使用訊息轉換器處理請求報文
1、使用@RequestBody獲取請求體
(1)語法
final static String SUCCESS = "success"; @RequestMapping("/testRequestBody") public String testRequestBody(@RequestBody String reqBody){ System.out.println("reqBody = " + reqBody); return SUCCESS; }
(2)注:使用@RequestBody必須以POST方式提交,不能使用GET方式(GET提交方式,沒有請求體)
2、使用HttpEntity<T>物件,獲取請求頭及請求體
(1)語法:
@RequestMapping("/testHttpEntity")
public String testHttpEntity(HttpEntity<String> httpEntity){
//獲取請求頭
System.out.println("httpEntity.getHeaders() = " + httpEntity.getHeaders());
//獲取內容
System.out.println("httpEntity.getBody() = " + httpEntity.getBody());
return SUCCESS;
}
(2)可以獲取請求頭及請求體
三、使用訊息轉換器處理回應報文
1、@ResponseBody
(1)位置:
①書寫在class類上面(當前類所有方法,均回傳文本,不調整頁面)
②書寫在方法上面
(2)語法
@RequestMapping("/testResponseBody")
@ResponseBody
public String testResponseBody(){
System.out.println("testResponseBody !!!");
return "hello";
}
四、使用訊息轉換器處理Json格式資料
1、匯入jar包
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.12.3</version> </dependency>
2、裝配MappingJackson2HttpMessageConverter訊息轉換器
必須配置mvc:annotation-drive標簽才能裝配Jackson的轉換器
3、在需要轉換json資料的方法上,添加@ResponseBody
4、實體代碼:
@RequestMapping("/testJSON")
@ResponseBody
public Employee testJSON(){
System.out.println("testJSON");
Employee employee = new Employee(1001,"zhangsan","[email protected]",1);
return employee;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/542312.html
標籤:其他
上一篇:函式
下一篇:System
