日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

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

java - 使用spring mvc時,RequestBody中json轉換成對象失敗,對象中包含list

瀏覽:205日期:2023-12-22 15:27:52

問題描述

使用spring mvc時,RequestBody中json轉換成對象失敗,因為對象中包含list,如果我去掉list,就能轉換成功。

代碼:java - 使用spring mvc時,RequestBody中json轉換成對象失敗,對象中包含listDTO類代碼:

public class OrderDishes { // 就餐人數 private int peopleNum; // 單個菜品 private List<Dishes> variant; // 套餐 private List<Dishes> product; // 商品總額 private BigDecimal totalAmount; // 折扣金額 private BigDecimal discountAmount; // 備注 private String memo; // 是否推遲下單 private boolean isPostpone; public OrderDishes(int peopleNum, List<Dishes> variant, List<Dishes> product, BigDecimal totalAmount, BigDecimal discountAmount, String memo, boolean isPostpone) {this.peopleNum = peopleNum;this.variant = variant;this.product = product;this.totalAmount = totalAmount;this.discountAmount = discountAmount;this.memo = memo;this.isPostpone = isPostpone; } public OrderDishes() { } public int getPeopleNum() {return peopleNum; } public void setPeopleNum(int peopleNum) {this.peopleNum = peopleNum; } public List<Dishes> getVariant() {return variant; } public void setVariant(List<Dishes> variant) {this.variant = variant; } public List<Dishes> getProduct() {return product; } public void setProduct(List<Dishes> product) {this.product = product; } public BigDecimal getTotalAmount() {return totalAmount; } public void setTotalAmount(BigDecimal totalAmount) {this.totalAmount = totalAmount; } public BigDecimal getDiscountAmount() {return discountAmount; } public void setDiscountAmount(BigDecimal discountAmount) {this.discountAmount = discountAmount; } public String getMemo() {return memo; } public void setMemo(String memo) {this.memo = memo; } public boolean isPostpone() {return isPostpone; } public void setPostpone(boolean postpone) {isPostpone = postpone; } public class Dishes {private Long productID;private int quantity;private String memo;private BigDecimal addedPrice;public BigDecimal getAddedPrice() { return addedPrice;}public void setAddedPrice(BigDecimal addedPrice) { this.addedPrice = addedPrice;}public Long getProductID() { return productID;}public void setProductID(Long productID) { this.productID = productID;}public int getQuantity() { return quantity;}public void setQuantity(int quantity) { this.quantity = quantity;}public String getMemo() { return memo;}public void setMemo(String memo) { this.memo = memo;} }}

傳入json:

{ 'peopleNum': 1, 'variant': [ { 'productID': 269, 'quantity': 1, 'memo': 'string', 'addedPrice': 0 } ], 'product': [ { 'productID':469 , 'quantity': 1, 'memo': 'string', 'addedPrice': 0 } ], 'totalAmount': 1000, 'discountAmount': 0, 'memo': 'string', 'postpone': true}

錯誤信息:

org.springframework.http.converter.HttpMessageNotReadableException: Could not read document: No suitable constructor found for type [simple type, class cc.toprank.byd.pad.dto.OrderDishes$Dishes]: can not instantiate from JSON object (missing default constructor or creator, or perhaps need to add/enable type information?) at [Source: java.io.PushbackInputStream@5607eee4; line: 5, column: 7] (through reference chain: cc.toprank.byd.pad.dto.OrderDishes['variant']->java.util.ArrayList[0]); nested exception is com.fasterxml.jackson.databind.JsonMappingException: No suitable constructor found for type [simple type, class cc.toprank.byd.pad.dto.OrderDishes$Dishes]: can not instantiate from JSON object (missing default constructor or creator, or perhaps need to add/enable type information?) at [Source: java.io.PushbackInputStream@5607eee4; line: 5, column: 7] (through reference chain: cc.toprank.byd.pad.dto.OrderDishes['variant']->java.util.ArrayList[0]) at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:229) at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.read(AbstractJackson2HttpMessageConverter.java:213) at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.readWithMessageConverters(AbstractMessageConverterMethodArgumentResolver.java:197) at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:147) at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:125) at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:99) at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:161) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:128) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:832) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:743) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:961) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:895) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:967) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:869)

問題解答

回答1:

將Dishes設置成靜態內部類如這樣

public static class Dishes{}

內部類

// 非靜態內部類實例會默認有一個上一級類的實例的引用// 非靜態內部類的實例化是這樣的OrderDishes orderDishes = new OrderDishes(); // 外部類Dishes dish = orderDishes.new Dishes(); // 非靜態內部類

靜態內部類

// 如果是靜態內部類則內部類和外部類沒有關聯關系// 他們的關系只是在同一個文件中OrderDishes orderDishes = new OrderDishes(); // 外部類Dishes dish = new Dishes(); // 非靜態內部類,正常方式的實例化

JSON反序列化失敗的原因是序列化框架不知道Dishes是內部類,所以創建對象失敗了

求點贊和采納~~

回答2:

字符串轉對象時如果對象帶有有參數構造方法,那么必須要增加一個無參數的構造方法,不然通過反射創建對象時會報錯,因為需要參數

回答3:

內部類沒有不帶參數構造方法,默認生成的構造方法帶參數,參數為外層類對象

標簽: java
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美激情麻豆| 日本在线一区二区三区| 日韩欧美美女在线观看| 丝袜脚交一区二区| 在线视频精品| 久久大逼视频| 不卡视频在线| 香蕉久久久久久| 国产精品男女| 日韩久久精品| 美女毛片一区二区三区四区| 国产亚洲在线观看| 91精品麻豆| 国产亚洲电影| 超级白嫩亚洲国产第一| 清纯唯美亚洲综合一区| 老司机精品在线| 色综合狠狠操| 亚洲精品一级二级| 视频精品一区二区| 国产三级精品三级在线观看国产| 久久男人天堂| 免费看黄色91| 色婷婷色综合| 国产欧美自拍| 亚洲欧美日韩视频二区| 国产精品欧美大片| 久久精品国语| 九九久久国产| 91av一区| 国产 日韩 欧美一区| 亚洲中午字幕| 国产精选在线| 日韩国产在线观看一区| 黄在线观看免费网站ktv| 国产色综合网| 国产综合婷婷| 97精品在线| 国产亚洲欧美日韩在线观看一区二区| 日韩一区三区| 久久国际精品| 亚洲深深色噜噜狠狠爱网站 | 欧美va天堂在线| 亚洲精品无播放器在线播放| 欧美亚洲国产激情| 国产a亚洲精品| 国产精品久久久一区二区| 日韩视频精品在线观看| av亚洲一区二区三区| 日韩免费av| 成人台湾亚洲精品一区二区 | 日本在线不卡视频| 特黄特色欧美大片| 国产精品久久久久久久久久妞妞| 九九综合在线| 欧美成人日韩| 午夜影院欧美| 久久中文字幕av| 日韩av有码| 国产精品亚洲一区二区在线观看 | 日韩精品欧美大片| 亚洲欧美视频一区二区三区| av不卡免费看| 九一成人免费视频| 亚洲欧美日韩精品一区二区 | 亚洲精品一级| 99视频在线精品国自产拍免费观看| 午夜av成人| 国产一区二区三区不卡视频网站 | 午夜精品网站| 成人av三级| 91精品推荐| 亚洲狼人精品一区二区三区| 亚洲啊v在线免费视频| 伊人精品久久| 国产探花一区在线观看| 麻豆精品视频在线观看视频| 欧美成人aaa| 欧美日韩亚洲在线观看| 中文字幕免费一区二区| 日韩一区二区三区精品视频第3页| 视频在线观看一区| 视频一区欧美日韩| 国产精品免费大片| 激情婷婷综合| 日韩国产一区二| 欧美xxxx中国| 免费看日韩精品| 欧美国产亚洲精品| 久久精品动漫| 日韩av影院| 91精品国产福利在线观看麻豆| 日韩av福利| 亚洲精品无吗| 亚洲黄色网址| 日韩欧美激情电影| 999久久久免费精品国产| 噜噜噜躁狠狠躁狠狠精品视频| 欧美激情麻豆| 国产毛片一区| 国产乱码精品一区二区三区四区| 婷婷综合在线| 精品国产欧美日韩| 亚洲日韩中文字幕一区| www.com.cn成人| 免费日韩视频| 麻豆高清免费国产一区| 美国三级日本三级久久99| 日韩精品永久网址| 国产精品一区二区精品| 亚洲先锋成人| 国际精品欧美精品| 深夜福利亚洲| 日韩精品a在线观看91| 欧美在线网站| 毛片不卡一区二区| 欧美激情三区| 天堂久久一区| 久久成人精品| 欧美高清不卡| 热三久草你在线| 美女视频一区在线观看| 国产精选一区| 国产欧美日韩| 国产一卡不卡| 日本a级不卡| 国产调教精品| 视频国产精品| 亚洲天堂免费| 视频一区二区三区在线| 久久精品亚洲人成影院 | 亚洲欧美久久久| 88xx成人免费观看视频库| 精品一区二区三区亚洲| 欧美精品二区| 久久麻豆视频| 国产精品久av福利在线观看| 亚洲欧洲日韩| 日韩精品视频中文字幕| 久久国产精品亚洲77777| 婷婷综合社区| 国产午夜精品一区二区三区欧美 | 国产精品videossex| 日韩精品亚洲aⅴ在线影院| 国产探花一区| 国产福利电影在线播放| 香蕉成人av| 99视频精品| 国产精品宾馆| 91tv亚洲精品香蕉国产一区| 亚洲国产福利| 在线视频免费在线观看一区二区| 一区二区三区四区在线观看国产日韩| 日韩精品一区二区三区中文在线| 国产精品自在| 精品久久美女| 亚洲精品电影| 欧美日韩99| 日韩在线欧美| 亚洲精品黄色| 美女一区网站| 最近国产精品视频| 中文av在线全新| 亚洲1区在线| 久久精品青草| 少妇精品久久久| 精品日韩一区| 久久中文字幕av| 国产精品中文字幕制服诱惑| а√在线中文在线新版| 香蕉久久一区| 亚洲欧洲午夜| 精品理论电影在线| 欧美日韩一区二区三区四区在线观看 | 国产亚洲字幕| 亚洲国产一区二区在线观看| 青青草国产成人99久久| 欧美中文字幕一区二区| 精品三级在线观看视频| 91精品视频一区二区| 亚洲美女久久精品| 中文一区一区三区免费在线观| 麻豆理论在线观看| 久久国产精品免费一区二区三区| 不卡在线一区二区| 国产a久久精品一区二区三区| 人人精品人人爱| 啪啪国产精品| 国产福利资源一区| 欧美在线黄色| 天堂va欧美ⅴa亚洲va一国产| 久久麻豆精品| 性欧美xxxx免费岛国不卡电影| bbw在线视频| 日韩电影免费网站| 麻豆精品视频在线| 日韩国产一二三区| 视频一区二区中文字幕| 国产精品美女久久久浪潮软件| 国产综合亚洲精品一区二|