日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

json txt格式转换器_SpringBoot项目中如何定制HTTP消息转换器

發布時間:2024/10/12 javascript 88 豆豆
生活随笔 收集整理的這篇文章主要介紹了 json txt格式转换器_SpringBoot项目中如何定制HTTP消息转换器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文首發于個人網站:Spring Boot項目中如何定制HTTP消息轉換器,如需轉載,請注明來源

在構建RESTful數據服務過程中,我們定義了controller、repositories,并用一些注解修飾它們,但是到現在為止我們還沒執行過對象的轉換——將java實體對象轉換成HTTP的數據輸出流。

Spring Boot底層通過HttpMessageConverters和Jackson庫將Java實體類輸出為JSON格式。當有多個轉換器可用時,根據消息對象類型和需要的內容類型選擇最適合的轉換器使用。

在SpringMVC源碼剖析(五)-消息轉換器HttpMessageConverter一文中,有一張圖可以很清楚得表示消息轉換器的位置。

消息轉換器的目標是:

  • HTTP輸入請求格式向Java對象的轉換;
  • Java對象向HTTP輸出請求的轉換。
  • 有的消息轉換器只支持多個數據類型,有的只支持多個輸出格式,還有的兩者兼備。

    例如:MappingJackson2HttpMessageConverter可以將Java對象轉換為application/json,而ProtobufHttpMessageConverter僅支持com.google.protobuf.Message類型的輸入,但是可以輸出application/json、application/xml、text/plain和application/x-protobuf這么多格式。

    實踐

    在項目中有三種辦法配置消息轉換器,主要是從可定制性和易用度兩個方面進行衡量。

  • 在WebConfiguration類中加入@Bean定義
  • @Bean public ByteArrayHttpMessageConverter byteArrayHttpMessageConverter() {return new ByteArrayHttpMessageConverter(); }
  • 重寫(override)configureMessageConverters方法,擴展現有的消息轉換器鏈表;
  • @Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {converters.add(new ByteArrayHttpMessageConverter()); }
  • 更多的控制,可以重寫extendMessageConverters方法,首先清空轉換器列表,再加入自定義的轉換器。
  • @Override public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {converters.clear();converters.add(new ByteArrayHttpMessageConverter()); }

    分析

    Spring Boot提供了多種方法完成同樣的任務,選擇哪個取決于我們更側重便捷性還是更側重可定制性。

    上述提到的三種方法各有什么不同呢?

    通過@Bean定義HttpMessageConverter是向項目中添加消息轉換器最簡便的辦法,這類似于之前提到的添加Servlet Filters。如果Spring掃描到HttpMessageConverter類型的bean,就會將它自動添加到調用鏈中。推薦讓項目中的WebConfiguration繼承自WebMvcConfigurerAdapter。

    通過重寫configureMessageConverters方法添加自定義的轉換器很方便,但有一個弱點:如果項目中存在多個WebMvcConfigurers的實例(我們自己定義的,或者Spring Boot默認提供的),不能確保重寫后的configureMessageConverters方法按照固定順序執行。

    如果需要更精細的控制:清除其他消息轉換器或者清楚重復的轉換器,可以通過重寫extendMessageConverters完成,仍然有這種可能:別的WebMvcConfigurer實例也可以重寫這個方法,但是這種幾率非常小。

    Spring Boot 1.x系列

  • Spring Boot的自動配置、Command-line-Runner
  • 了解Spring Boot的自動配置
  • Spring Boot的@PropertySource注解在整合Redis中的使用


  • 本號(javaadu)專注于后端技術、JVM問題排查和優化、Java面試題、個人成長和自我管理等主題,為讀者提供一線開發者的工作和成長經驗,期待你能在這里有所收獲。

    總結

    以上是生活随笔為你收集整理的json txt格式转换器_SpringBoot项目中如何定制HTTP消息转换器的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 国产宾馆实践打屁股91 | 香蕉伊思人视频 | www.brazzers.com| 美女网站在线免费观看 | 欧美激情黑人 | 日韩电影在线观看一区二区 | 精品亚洲国产成人av制服丝袜 | 中文字幕第七页 | 国产精品高清在线观看 | 欧美xxxx83d | 伊人宗合 | japanese在线| 国产在线高清视频 | 两性动态视频 | 日本 奴役 捆绑 受虐狂xxxx | 日韩视频在线观看视频 | 天天操天天操 | 邻家有女4完整版电影观看 欧美偷拍另类 | 日本阿v视频在线观看 | 波多野结衣视频免费 | 日本xxxxwww | 免费观看成人毛片 | 欧美一级黄色大片 | 中国a级黄色片 | 国产一级在线播放 | 久久精品国产一区二区三区 | 精品视频99| 黑人干亚洲女人 | 色婷婷av一区二区三区在线观看 | 成人污污www网站免费丝瓜 | 欧美夜夜 | 婷婷国产一区二区三区 | 国产精品九九九 | 成年人看的羞羞网站 | 91亚洲专区 | 91福利网站 | 好色综合 | 狠狠干综合网 | 黄页视频在线观看 | 免费的一级黄色片 | 97人妻天天摸天天爽天天 | 国产99免费 | 在线播放你懂的 | 大尺度在线观看 | 毛片内射久久久一区 | 少妇被躁爽到高潮无码人狍大战 | 成人av动漫 | 国外亚洲成av人片在线观看 | 欧美国产三级 | 99热.com| 欧美性猛交ⅹ乱大交3 | 香蕉视频网站入口 | 日本va欧美va欧美va精品 | 亚洲成人午夜在线 | 开心激情综合网 | 国产精品91久久 | 亚洲成人av免费 | 下面一进一出好爽视频 | 欧美大片在线 | 澳门一级黄色片 | 久久伊人爱 | 91抖音在线观看 | 国产女人精品 | 91精品国产入口 | 人妻饥渴偷公乱中文字幕 | 亚洲欧美日韩精品久久 | 亚洲五月花 | 星空大象在线观看免费播放 | 欧美操穴 | 性喷潮久久久久久久久 | 夜夜骑夜夜操 | 亚洲av日韩av高潮潮喷无码 | 天天干天天插天天射 | 视色网| 狠狠操在线 | 玉势 (1v1 高h) | 久久精品亚洲精品国产欧美 | 国产成人超碰人人澡人人澡 | 久久福利一区 | 亚洲综合成人在线 | 91精品人妻一区二区三区蜜桃2 | 嫩草影院久久 | 深田咏美中文字幕 | 麻豆免费视频网站 | 激情五月婷婷网 | 日韩精品视频在线看 | 亚洲一区二区三区四区在线播放 | 欧美大片一区二区 | 国产夜色精品一区二区av | 欧美18免费视频 | 操日本老太太 | 国产精品国产三级国产 | 每日在线观看av | 青青草逼 | 亚洲v国产v欧美v久久久久久 | 女仆乖h调教跪趴1v1 | 久草视频免费看 | 一区二区三区不卡视频 | 成人精品免费在线观看 |