優(yōu)雅的接收參數(shù)

背景:在開發(fā)中特別是做保存邏輯的時候料扰,后端需要接收很多業(yè)務(wù)參數(shù)喂江。
html頁面(上傳的參數(shù)js對象和Java對象對應(yīng)胆敞,js數(shù)組和Java集合對應(yīng)诺祸,字段名字也要對應(yīng)):

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script src='jquery-2.1.4.min.js'></script>
</head>
<body>
    <button onclick='send()'>try</button>
    
    <script>
        function send(){
            var obj = new Object();
            
            // 基本信息
            var baseInfo = new Object();
            baseInfo.name = 'tianye';
            baseInfo.age = 18;
            baseInfo.sex = '男';
            obj.baseInfo = baseInfo;
            
            // 折扣優(yōu)惠
            var discount = new Array();
            var discountChild1 = new Object();
            discountChild1.discountIds = '1,2,3';
            discountChild1.productIds = '12,23,45,23';
            var discountChild2 = new Object();
            discountChild2.discountIds = '12,222,322';
            discountChild2.productIds = '122,233,455,2366';
            discount.push(discountChild1);
            discount.push(discountChild2);
            obj.discount = discount;
            
            // 樓棟別名
            var product = new Array();
            var productChild1 = new Object();
            var productChild2 = new Object();
            productChild1.id = 222;
            productChild1.name = 'sasfds';
            productChild1.sort = 2;
            productChild2.id = 333;
            productChild2.name = 'sfdsfdsfsadf';
            productChild2.sort = 1;
            product.push(productChild1,productChild2);
            obj.product = product;
            
            console.log(obj);
            console.log(JSON.stringify(obj));
            
            $.ajax({
                url: 'http://localhost:8080/ajax/test1',
                type: 'post',
                contentType: 'application/json;charset=utf-8',
                data: JSON.stringify(obj),
                success: function(data){
                    console.log(data);
                    console.log(JSON.stringify(data));
                }
            });
        }
    </script>
 
</body>
</html>

Controller處理器:

package com.example.demo.web;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.example.demo.domain.AjaxDTO;

@Controller
@RequestMapping("/ajax")
public class AjaxController {
    
    @RequestMapping("/test1")
    @ResponseBody
    public AjaxDTO test1(@RequestBody AjaxDTO AjaxDTO) {
        System.out.println(AjaxDTO.getBaseInfo());
        System.out.println(AjaxDTO.getDiscount());
        System.out.println(AjaxDTO.getProduct());
        return AjaxDTO;
    }

}

實體Bean

package com.example.demo.domain;
import java.util.List;
public class AjaxDTO {
    
    private BaseInfo baseInfo;
    
    private List<Discount> discount;
    
    private List<Product> product;

    // 忽略get携悯,set方法
}


package com.example.demo.domain;
public class BaseInfo {
    
    private String name;
    
    private Integer age;
    
    private String sex;

    // 忽略get,set方法
}


package com.example.demo.domain;
public class Discount {
    
    private String discountIds;
    
    private String productIds;

    // 忽略get筷笨,set方法
}


package com.example.demo.domain;
public class Product {
    
    private Integer id;
    
    private String name;
    
    private Integer sort;

    // 忽略get憔鬼,set方法
}


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市胃夏,隨后出現(xiàn)的幾起案子轴或,更是在濱河造成了極大的恐慌,老刑警劉巖仰禀,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件照雁,死亡現(xiàn)場離奇詭異,居然都是意外死亡答恶,警方通過查閱死者的電腦和手機饺蚊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來亥宿,“玉大人卸勺,你說我怎么就攤上這事√潭螅” “怎么了?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵碍庵,是天一觀的道長映企。 經(jīng)常有香客問我,道長静浴,這世上最難降的妖魔是什么堰氓? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮苹享,結(jié)果婚禮上双絮,老公的妹妹穿的比我還像新娘。我一直安慰自己得问,他們只是感情好囤攀,可當我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著宫纬,像睡著了一般焚挠。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上漓骚,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天蝌衔,我揣著相機與錄音榛泛,去河邊找鬼。 笑死噩斟,一個胖子當著我的面吹牛曹锨,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播剃允,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼沛简,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了硅急?” 一聲冷哼從身側(cè)響起覆享,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎营袜,沒想到半個月后撒顿,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡荚板,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年凤壁,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片跪另。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡拧抖,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出免绿,到底是詐尸還是另有隱情唧席,我是刑警寧澤,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布嘲驾,位于F島的核電站淌哟,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏辽故。R本人自食惡果不足惜徒仓,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望誊垢。 院中可真熱鬧掉弛,春花似錦、人聲如沸喂走。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽缴啡。三九已至壁晒,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背秒咐。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工谬晕, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人携取。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓攒钳,卻偏偏與公主長得像,于是被迫代替她去往敵國和親雷滋。 傳聞我的和親對象是個殘疾皇子不撑,可洞房花燭夜當晚...
    茶點故事閱讀 43,465評論 2 348

推薦閱讀更多精彩內(nèi)容