国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

java - JSONField接收web提交的Json串,解析key

瀏覽:140日期:2023-11-20 09:38:27

問(wèn)題描述

SpringMVC Controller接收頁(yè)面POST提交的JSON串,因?yàn)镴SON串里面是帶“_”的全小寫(xiě),在java里面寫(xiě)屬性的getter和setter實(shí)在太難看,所以就想到了用JSONField解析

//User類(lèi)import com.alibaba.fastjson.annotation.JSONField;public class User{ @JSONField(name = 'user_name') private String userName; public String getUserName(){return this.userName; } public void setUserName(String userName){this.userName=userName; }}//Controller類(lèi)@RequestMapping(value = '/insert_user',method = RequestMethod.POST)public String insertUser(@RequestBody User user){ System.out.println(user.getUserName()); return 'ok';}

但是在POST提交后沒(méi)有接收到啊,都是 null。后來(lái)用@SerializeName('user_name')還是不好使啊,請(qǐng)問(wèn)這有解么,還是我的請(qǐng)求方式不對(duì)。。。。

問(wèn)題解答

回答1:

spring mvc 默認(rèn)的json轉(zhuǎn)換器是jackson,而你用的是fastjson中的@JSONField,所以不起作用。接下來(lái)你要做的就是替換掉默認(rèn)的json轉(zhuǎn)換器,具體方法百度

回答2:

@RequestBody作用:

i) 該注解用于讀取Request請(qǐng)求的body部分?jǐn)?shù)據(jù),使用系統(tǒng)默認(rèn)配置的HttpMessageConverter進(jìn)行解析,然后把相應(yīng)的數(shù)據(jù)綁定到要返回的對(duì)象上; ii) 再把HttpMessageConverter返回的對(duì)象數(shù)據(jù)綁定到 controller中方法的參數(shù)上。

使用時(shí)機(jī):

A) GET、POST方式提時(shí), 根據(jù)request header Content-Type的值來(lái)判斷:

application/x-www-form-urlencoded, 可選(即非必須,因?yàn)檫@種情況的數(shù)據(jù)@RequestParam, @ModelAttribute也可以處理,當(dāng)然@RequestBody也能處理);multipart/form-data, 不能處理(即使用@RequestBody不能處理這種格式的數(shù)據(jù));其他格式, 必須(其他格式包括application/json, application/xml等。這些格式的數(shù)據(jù),必須使用@RequestBody來(lái)處理);

B) PUT方式提交時(shí), 根據(jù)request header Content-Type的值來(lái)判斷:

application/x-www-form-urlencoded, 必須;multipart/form-data, 不能處理;其他格式, 必須;

說(shuō)明:request的body部分的數(shù)據(jù)編碼格式由header部分的Content-Type指定;

標(biāo)簽: java
主站蜘蛛池模板: 新郑市| 乐业县| 洮南市| 兴隆县| 康定县| 镇巴县| 天祝| 南乐县| 蓬溪县| 丽水市| 曲阳县| 广宗县| 来安县| 察隅县| 宁南县| 甘泉县| 区。| 土默特右旗| 鄯善县| 岢岚县| 衡水市| 建平县| 容城县| 鄂托克旗| 秀山| 扶绥县| 南丹县| 吉安县| 德昌县| 阿克陶县| 米易县| 宝山区| 凤冈县| 剑河县| 普兰县| 松桃| 察隅县| 特克斯县| 固安县| 喀喇沁旗| 龙海市|