SpringMVC JSON數(shù)據(jù)交互實(shí)現(xiàn)過程解析
為什么使用JSON進(jìn)行數(shù)據(jù)交互?
JSON數(shù)據(jù)格式比較簡(jiǎn)單、解析比較方便,在接口調(diào)用及HTML頁面Ajax調(diào)用時(shí)較常用。
JSON交互方式
請(qǐng)求是Key/Value,響應(yīng)是JSON(推薦使用)
請(qǐng)求是JSON,響應(yīng)是JSON
依賴包
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.8</version>
</dependency>
測(cè)試
請(qǐng)求k/v,響應(yīng)json
jsp頁面
function responseKV(){
$.ajax({
type:"post",
url:'${pageContext.request.contextPath }/responseKV',
//輸入是key/value時(shí),默認(rèn)就指定好了contentType了,不需要再指定了
//contentType:'application/json;charset=utf-8',
//data為key/value形式
data:'name=json測(cè)試&price=999',
success:function(data){
alert(data);
}
});
}
Controller類(類上加響應(yīng)標(biāo)記:@ResponseBody)
// 輸入是key/value,輸出是json
// @ResponseBody 將返回值轉(zhuǎn)成json串響應(yīng)給前臺(tái)
@RequestMapping("/responseKV")
@ResponseBody
public Item responseKV(Item item) {
return item;
}

請(qǐng)求JSON,響應(yīng)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測(cè)試","price":999}',
success:function(data){
alert(data.name);
}
});
}
Controller類(請(qǐng)求參數(shù)上加:@RequestBody標(biāo)記;類上加@ResponseBody標(biāo)記)
@Controller
public class JsonController {
// 輸入是json,輸出是json
// @RequestBody 將請(qǐng)求的json串轉(zhuǎn)成java對(duì)象
// @ResponseBody 將返回值轉(zhuǎn)成json串響應(yīng)給前臺(tái)
@RequestMapping("/requestJson")
@ResponseBody
public Item requestJson(@RequestBody Item item) {
return item;
}
}
報(bào)文頭


以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
TransmittableThreadLocal通過javaAgent實(shí)現(xiàn)線程傳遞并支持ForkJoin
這篇文章主要介紹了TransmittableThreadLocal通過javaAgent實(shí)現(xiàn)線程傳遞并支持ForkJoin詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06
java策略枚舉:消除在項(xiàng)目里大批量使用if-else的優(yōu)雅姿勢(shì)
這篇文章主要給大家介紹了關(guān)于Java徹底消滅if-else的8種方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2021-06-06
老生常談Java虛擬機(jī)垃圾回收機(jī)制(必看篇)
下面小編就為大家?guī)硪黄仙U凧ava虛擬機(jī)垃圾回收機(jī)制(必看篇)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-08-08
如何使用Springfox?Swagger實(shí)現(xiàn)API自動(dòng)生成單元測(cè)試
Springfox是一個(gè)使用Java語言開發(fā)開源的API Doc的框架,它的前身是swagger-springmvc,可以將我們的Controller中的方法以文檔的形式展現(xiàn),這篇文章主要介紹了如何使用Springfox?Swagger實(shí)現(xiàn)API自動(dòng)生成單元測(cè)試,感興趣的朋友跟隨小編一起看看吧2024-04-04
spring boot與kafka集成的簡(jiǎn)單實(shí)例
本篇文章主要介紹了spring boot與kafka集成的簡(jiǎn)單實(shí)例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09

