久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

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

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

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

問題描述

SpringMVC Controller接收頁面POST提交的JSON串,因?yàn)镴SON串里面是帶“_”的全小寫,在java里面寫屬性的getter和setter實(shí)在太難看,所以就想到了用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 默認(rèn)的json轉(zhuǎn)換器是jackson,而你用的是fastjson中的@JSONField,所以不起作用。接下來你要做的就是替換掉默認(rèn)的json轉(zhuǎn)換器,具體方法百度

回答2:

@RequestBody作用:

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

使用時機(jī):

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

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來處理);

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

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

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

標(biāo)簽: java
主站蜘蛛池模板: 武定县| 新巴尔虎左旗| 特克斯县| 黄梅县| 沅陵县| 广宗县| 永丰县| 教育| 垦利县| 密山市| 岳阳市| 开平市| 佛山市| 夹江县| 靖边县| 沾化县| 徐闻县| 天气| 卓资县| 荥经县| 都兰县| 龙川县| 海南省| 丹东市| 元朗区| 晴隆县| 莲花县| 海安县| 杭锦旗| 彝良县| 湖北省| 颍上县| 金华市| 白玉县| 揭阳市| 盐城市| 罗定市| 新余市| 屏东市| 兴安盟| 鄂州市|