SpringMVC JSON數(shù)據(jù)交互實現(xiàn)過程解析
為什么使用JSON進行數(shù)據(jù)交互?
JSON數(shù)據(jù)格式比較簡單、解析比較方便,在接口調(diào)用及HTML頁面Ajax調(diào)用時較常用。
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類(請求參數(shù)上加:@RequestBody標記;類上加@ResponseBody標記)
@Controller
public class JsonController {
// 輸入是json,輸出是json
// @RequestBody 將請求的json串轉成java對象
// @ResponseBody 將返回值轉成json串響應給前臺
@RequestMapping("/requestJson")
@ResponseBody
public Item requestJson(@RequestBody Item item) {
return item;
}
}
報文頭


以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
TransmittableThreadLocal通過javaAgent實現(xiàn)線程傳遞并支持ForkJoin
這篇文章主要介紹了TransmittableThreadLocal通過javaAgent實現(xiàn)線程傳遞并支持ForkJoin詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-06-06
java策略枚舉:消除在項目里大批量使用if-else的優(yōu)雅姿勢
這篇文章主要給大家介紹了關于Java徹底消滅if-else的8種方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧2021-06-06
如何使用Springfox?Swagger實現(xiàn)API自動生成單元測試
Springfox是一個使用Java語言開發(fā)開源的API Doc的框架,它的前身是swagger-springmvc,可以將我們的Controller中的方法以文檔的形式展現(xiàn),這篇文章主要介紹了如何使用Springfox?Swagger實現(xiàn)API自動生成單元測試,感興趣的朋友跟隨小編一起看看吧2024-04-04

