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

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

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

瀏覽:115日期: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
主站蜘蛛池模板: 雷山县| 宕昌县| 镇原县| 织金县| 孝义市| 大渡口区| 阳山县| 上高县| 枞阳县| 绵阳市| 龙川县| 瑞安市| 东方市| 宽甸| 清流县| 静安区| 河津市| 大丰市| 北川| 平陆县| 门源| 顺平县| 弥勒县| 柳河县| 江阴市| 泾源县| 丰城市| 闽清县| 虞城县| 扶沟县| 瑞丽市| 宣化县| 策勒县| 澄城县| 平塘县| 成安县| 哈巴河县| 富民县| 马关县| 武强县| 长治县|