亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

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

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

問題描述

SpringMVC Controller接收頁面POST提交的JSON串,因為JSON串里面是帶“_”的全小寫,在java里面寫屬性的getter和setter實在太難看,所以就想到了用JSONField解析

//User類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類@RequestMapping(value = '/insert_user',method = RequestMethod.POST)public String insertUser(@RequestBody User user){ System.out.println(user.getUserName()); return 'ok';}

但是在POST提交后沒有接收到啊,都是 null。后來用@SerializeName('user_name')還是不好使啊,請問這有解么,還是我的請求方式不對。。。。

問題解答

回答1:

spring mvc 默認的json轉換器是jackson,而你用的是fastjson中的@JSONField,所以不起作用。接下來你要做的就是替換掉默認的json轉換器,具體方法百度

回答2:

@RequestBody作用:

i) 該注解用于讀取Request請求的body部分數據,使用系統默認配置的HttpMessageConverter進行解析,然后把相應的數據綁定到要返回的對象上; ii) 再把HttpMessageConverter返回的對象數據綁定到 controller中方法的參數上。

使用時機:

A) GET、POST方式提時, 根據request header Content-Type的值來判斷:

application/x-www-form-urlencoded, 可選(即非必須,因為這種情況的數據@RequestParam, @ModelAttribute也可以處理,當然@RequestBody也能處理);multipart/form-data, 不能處理(即使用@RequestBody不能處理這種格式的數據);其他格式, 必須(其他格式包括application/json, application/xml等。這些格式的數據,必須使用@RequestBody來處理);

B) PUT方式提交時, 根據request header Content-Type的值來判斷:

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

說明:request的body部分的數據編碼格式由header部分的Content-Type指定;

標簽: java
主站蜘蛛池模板: 久久久99精品久久久 | 午夜成年人视频 | 91成人国产 | 欧美日韩无线码免费播放 | 在线观看网址 | 韩国日本一级毛片免费视频 | 久久亚洲国产精品一区二区 | 涩涩99| 五月天久久婷婷 | 欧洲在线观看在线视频吗 | 黄色网在线免费观看 | 福利一区二区三区视频午夜观看 | 麻豆视频免费看 | 国产v国产v片大片线观看网站 | 大尺度福利视频在线观看网址 | 成人网视频在线观看免费 | 国产精品亚洲玖玖玖在线靠爱 | 日韩精品一二三区 | 欧美成人性毛片免费版 | 国产高清成人 | 亚洲 国产精品 日韩 | 免费a在线观看 | 福利网站污| 亚洲欧美啪啪 | 成人免费视频一区二区 | 91久久在线| 免费一级a毛片在线播放 | 国产一区在线播放 | 国产精品1区 | 最新永久一路线二路线三路线 | 在线观看色视频 | 国产大尺度吃奶无遮无挡网 | 欧美啪视频 | 免费无遮挡十八女禁污污网站 | 91精品全国免费观看含羞草 | 欧美黄色性生活 | 免费看黄色小视频 | 日韩国产片 | 成年人网站在线观看免费 | 国内自拍欧美 | 欧美成人精品第一区二区三区 |