成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

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

基于Spring Web Jackson對RequestBody反序列化失敗的解決

瀏覽:8日期:2023-08-11 13:33:16

最近在用Spring Web做一些Restful API的實現試驗,碰到了@RequestBody 的JSON無法被正常反序列化的問題。服務端的代碼大致如下:

@RequestMapping(value = '/aquas', method = RequestMethod.POST)public Aqua createAqua(@RequestBody Aqua aqua) { return aqua;}

研究后發現,由于Aqua這個實體類缺少了默認的無參構造函數(如果自行添加了有參數的構造函數,默認的無參構造函數就需要手動添加),Spring Web默認使用的JSON序列化框架-Jackson就無法正常反序列化。此時服務器會返回400 Bad Request.

解決的方法很多,比較簡單直接的方法是在Aqua這個實體類里面加一個無參的構造函數。比較復雜的也可通過向Jackson添加強制的轉換器的方法讓Jackson理解這個JSON對象。

今天這里要介紹的方式是利用注解讓Jackson理解如何反序列化實體類的JSON。這個方法更加靈活,也十分簡單。實體類的部分代碼如下:

@JsonCreatorpublic Aqua(@JsonProperty('aquaId') String id) { this.id = id;}

在自定義的構造函數上面添加@JsonCreator的注解,同時在參數上加上@JsonProperty的注解配合使用。加上這兩個注解之后,Jackson不需要無參構造函數也可以正常反序列化JSON了。

@JsonProperty注解也可以幫助Jackson理解JSON屬性名和實體類中的變量名不一致的情況。

在這里需要注意,如果有多個構造函數,建議僅僅在一個構造函數上面加上@JsonCreator注解,以免不必要的麻煩。

補充知識:Springboot springmvc 配置messageConverter(StringHttpMessageConverter)不生效原因解決

解決方法一:不推薦

解決方法如下,因為如果不設置register-default=’false’Spring 會默認幫我們注冊7個messageConvert 如下圖

<bean class='org.springframework.http.converter.StringHttpMessageConverter'> <constructor-arg value='UTF-8'></constructor-arg> <property name='supportedMediaTypes'> <list> <value>text/plain;charset=UTF-8</value> </list> </property> </bean> <mvc:annotation-driven enable-matrix-variables='true' content-negotiation-manager='contentNegotiationManager'> <mvc:message-converters register-defaults='false'> <ref bean='messageConverter'></ref> </mvc:message-converters> </mvc:annotation-driven>

如下圖所示,而且StringHttpMessageConverter,網上有人說,需要把mvc:annotation注解移動到最后,也有人說,messageConverter需要在mvc-converter之前注入SPring容器,眾說紛紜,不妨試試我這種方法,我的理解應該是,Spring會幫我們注入一些默認的,但是這些并不是我們需要的,而且我們在配置的時候,沒有及時的覆蓋掉Spring默認配置的。

所以會造成配置之后無效果的問題。筆者Spring版本為5.0.3

基于Spring Web Jackson對RequestBody反序列化失敗的解決

maven依賴如下

<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.0.3.RELEASE</version> </dependency> <mvc:annotation-driven enable-matrix-variables='true' content-negotiation-manager='contentNegotiationManager'> <mvc:message-converters register-defaults='false'> <ref bean='messageConverter'></ref> <ref bean='jackson2HttpMessageConverter'></ref> </mvc:message-converters> <mvc:path-matching path-helper='mph'></mvc:path-matching></mvc:annotation-driven>

方法2 ,看看你的文件字符編碼是否正確?

比如有的文件是GBK,有的文件是UTF-8,這種情,無論怎么改都會亂碼的。

以上這篇基于Spring Web Jackson對RequestBody反序列化失敗的解決就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
国精品一区二区三区| 日韩午夜中文字幕| 老司机午夜免费精品视频| 1000精品久久久久久久久| 成人动漫一区二区| 宅男在线国产精品| 蜜桃传媒麻豆第一区在线观看| 91网站在线观看视频| 在线日韩av片| 一区二区三区日韩在线观看| 欧美系列一区| 国产欧美一区二区三区在线看蜜臀 | 国产日韩欧美制服另类| 岛国av在线一区| 日韩午夜av电影| 韩国在线一区二区| 欧美性三三影院| 麻豆视频一区二区| 色综合久久88色综合天天6| 午夜久久久久久| 美女视频一区免费观看| 调教+趴+乳夹+国产+精品| 玖玖视频精品| 丝袜亚洲另类欧美| 香蕉成人久久| 亚洲国产视频一区| 色诱视频网站一区| 精品影院一区二区久久久| 337p亚洲精品色噜噜噜| 丁香桃色午夜亚洲一区二区三区| 91精品国产免费| 风间由美一区二区三区在线观看| 丁香婷婷综合色啪| 久久久久亚洲蜜桃| 91麻豆产精品久久久久久| 久久网站最新地址| 国产在线欧美日韩| 尤物av一区二区| 媚黑女一区二区| 日本色综合中文字幕| 在线一区二区三区做爰视频网站| 美女视频网站久久| 欧美一区二区三区小说| 暴力调教一区二区三区| 精品va天堂亚洲国产| 午夜精品国产| 亚洲女子a中天字幕| 国产亚洲毛片在线| 日本在线播放一区二区三区| 欧美日韩一卡二卡| a级高清视频欧美日韩| 国产欧美日韩精品一区| 亚洲区第一页| 亚洲成av人影院在线观看网| 亚洲一区二区影院| 日本高清不卡在线观看| 国产成人超碰人人澡人人澡| 国产嫩草影院久久久久| 国产欧美日韩亚洲| 久久精品国内一区二区三区| 欧美一级xxx| 欧美国产先锋| 亚洲精品欧美专区| 在线观看日韩毛片| 国产精品白丝jk黑袜喷水| 久久久精品国产免大香伊| 很黄很黄激情成人| 亚洲成a人v欧美综合天堂下载| 欧美日韩美少妇| aaa亚洲精品一二三区| 国产精品高清亚洲| 色老头久久综合| 国产成人8x视频一区二区| 国产亚洲欧美日韩在线一区| 国产伦精品一区二区三区照片91 | 日韩黄色免费电影| 在线不卡的av| 欧美日韩精品免费观看| 日日摸夜夜添夜夜添亚洲女人| 7777精品久久久大香线蕉| 欧美bbbxxxxx| 亚洲福利视频一区二区| 日韩欧美一级精品久久| 亚洲午夜精品久久| 青青草国产成人av片免费| 日韩欧美www| 精品动漫一区| 久久成人18免费观看| 日韩一区二区电影| 欧美精品18| 日韩av电影免费观看高清完整版 | 亚洲成人激情综合网| 在线成人高清不卡| 亚洲成人在线视频网站| 精品无人区卡一卡二卡三乱码免费卡| 国产日韩亚洲欧美综合| 一本一道久久a久久精品| www.在线欧美| 亚洲6080在线| 国产日产欧美精品一区二区三区| 西西人体一区二区| av不卡在线播放| 青草国产精品久久久久久| 久久精品一区四区| 久久久久久久久一区二区| 91丝袜国产在线播放| 日韩电影在线一区二区| 国产亚洲综合性久久久影院| 色婷婷精品大在线视频| 午夜精品视频| 久久er99热精品一区二区| 国产精品视频看| 欧美视频在线一区二区三区| 激情综合在线| 国产精品影视网| 亚洲永久精品国产| 国产日韩欧美制服另类| 欧美日韩激情一区| 国产日本精品| 97se亚洲国产综合自在线观| 美女一区二区三区在线观看| 亚洲人被黑人高潮完整版| 欧美成人vps| 91国产免费看| 亚洲精品字幕| 91亚洲资源网| 国产呦萝稀缺另类资源| 亚洲国产成人精品视频| 国产精品久久影院| 精品福利一二区| 欧美日本不卡视频| 男女精品网站| 在线欧美三区| 91麻豆视频网站| 国产一区二区在线免费观看| 亚洲国产aⅴ天堂久久| 国产精品免费观看视频| 日韩亚洲欧美在线| 欧美在线制服丝袜| 西西裸体人体做爰大胆久久久| 韩国久久久久| 99国产精品久| 久久国产麻豆精品| 午夜a成v人精品| 亚洲精品成a人| 国产精品美女久久久久久2018| 欧美videos大乳护士334| 欧美日韩在线免费视频| 久久久噜噜噜久久狠狠50岁| 亚洲人久久久| 亚洲国产高清一区二区三区| 欧美久久影院| 欧美一区二区三区人| 欧美日韩国产一二三| 欧美亚洲国产一区二区三区va| 香蕉久久夜色精品国产| 国产乱码精品| 国产精品美女黄网| 国产一区二区三区成人欧美日韩在线观看 | 免费在线观看精品| 亚洲午夜在线电影| 一区二区三区91| 玉米视频成人免费看| 亚洲日本在线天堂| 国产精品久久久久影院色老大| 久久亚区不卡日本| 日韩女优电影在线观看| 日韩一区二区三区视频| 在线不卡一区二区| 这里只有精品99re| 宅男噜噜噜66一区二区66| 在线不卡欧美精品一区二区三区| 欧美色爱综合网| 91福利精品视频| 色女孩综合影院| 美女91精品| 色婷婷一区二区| 91久久一区二区| 久久久久九九九| 久久久www免费人成黑人精品| 国产精品一区免费观看| 久久av在线| 久久美女性网| 欧美在线|欧美| 精品视频在线免费| 欧美美女喷水视频| 欧美一区二区三区四区视频| 91精品国产欧美一区二区成人| 欧美一区二区日韩| 欧美一区二区三区四区久久| 日韩久久精品一区| 久久综合色8888| 久久久久88色偷偷免费| 久久久久国产精品人| 欧美激情中文不卡| 亚洲美女视频一区| 香蕉乱码成人久久天堂爱免费| 亚洲午夜激情av| 亚洲高清三级视频| 奇米777欧美一区二区|