SpringMVC JSON資料互動實現過程解析
阿新 • • 發佈:2020-10-12
為什麼使用JSON進行資料互動?
JSON資料格式比較簡單、解析比較方便,在介面呼叫及HTML頁面Ajax呼叫時較常用。
JSON互動方式
請求是Key/Value,響應是JSON(推薦使用)
請求是JSON,響應是JSON
依賴包
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.9.8</version> </dependency>
測試
請求k/v,響應json
jsp頁面
function responseKV(){ $.ajax({ type:"post",url:'${pageContext.request.contextPath }/responseKV',//輸入是key/value時,預設就指定好了contentType了,不需要再指定了 //contentType:'application/json;charset=utf-8',//data為key/value形式 data:'name=json測試&price=999',success:function(data){ alert(data); } }); }
Controller類(類上加響應標記:@ResponseBody)
// 輸入是key/value,輸出是json // @ResponseBody 將返回值轉成json串響應給前臺 @RequestMapping("/responseKV") @ResponseBody public Item responseKV(Item item) { return item; }
請求JSON,響應JSON
jsp頁面
function requestJson(){ $.ajax({ type:"post",url:'${pageContext.request.contextPath }/requestJson',//輸入是json是 ,需要指定contentType為application/json contentType:'application/json;charset=utf-8',data:'{"name":"json測試","price":999}',success:function(data){ alert(data.name); } }); }
Controller類(請求引數上加:@RequestBody標記;類上加@ResponseBody標記)
@Controller public class JsonController { // 輸入是json,輸出是json // @RequestBody 將請求的json串轉成java物件 // @ResponseBody 將返回值轉成json串響應給前臺 @RequestMapping("/requestJson") @ResponseBody public Item requestJson(@RequestBody Item item) { return item; } }
報文頭
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。