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

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

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

瀏覽:133日期: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
主站蜘蛛池模板: 金湖县| 广元市| 离岛区| 汕尾市| 宽甸| 紫金县| 山东省| 开鲁县| 板桥市| 定西市| 吉首市| 乌兰察布市| 交城县| 民权县| 麟游县| 辉南县| 中江县| 冕宁县| 佛学| 靖宇县| 永泰县| 永城市| 东方市| 雅安市| 达尔| 小金县| 陕西省| 沙雅县| 泾川县| 龙陵县| 盐源县| 博兴县| 塔河县| 丹东市| 游戏| 高青县| 祥云县| 丰都县| 亳州市| 南宫市| 赣州市|