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

歡迎訪問 生活随笔!

生活随笔

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

javascript

使用Spring Boot和Spring MVC自定义HttpMessageConverters

發布時間:2023/12/3 javascript 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Spring Boot和Spring MVC自定义HttpMessageConverters 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為Spring Boot應用程序或直接的Spring MVC應用程序公開基于REST的終結點很簡單,以下是一個控制器,該終結點公開了一個終結點,用于基于其發布的內容創建實體:

@RestController @RequestMapping("/rest/hotels") public class RestHotelController {....@RequestMapping(method=RequestMethod.POST)public Hotel create(@RequestBody @Valid Hotel hotel) {return this.hotelRepository.save(hotel);} }

在內部,Spring MVC使用一個稱為HttpMessageConverter的組件將Http請求轉換為對象表示形式,然后再轉換回該形式。

自動注冊了一組默認轉換器,這些轉換器支持各種不同的資源表示格式,例如json,xml。

現在,如果需要以某種方式自定義消息轉換器,Spring Boot使其變得簡單。 例如,考慮上面示例中的POST方法是否需要稍微靈活一些,并且應該忽略Hotel實體中不存在的屬性-通常,這可以通過配置Jackson ObjectMapper來完成,這一切都需要使用Spring來完成。引導是創建一個新的HttpMessageConverter bean,最終將覆蓋所有默認消息轉換器,這種方式是:

@Beanpublic MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter() {MappingJackson2HttpMessageConverter jsonConverter = new MappingJackson2HttpMessageConverter();ObjectMapper objectMapper = new ObjectMapper();objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);jsonConverter.setObjectMapper(objectMapper);return jsonConverter;}

這對于Spring-Boot應用程序效果很好,但是對于不使用Spring-Boot的直接Spring MVC應用程序,配置自定義轉換器要稍微復雜一些-默認轉換器未默認注冊,最終用戶必須明確說明如何注冊默認值-以下是基于Spring 4的應用程序的相關代碼:

@Configuration public class WebConfig extends WebMvcConfigurationSupport {@Beanpublic MappingJackson2HttpMessageConverter customJackson2HttpMessageConverter() {MappingJackson2HttpMessageConverter jsonConverter = new MappingJackson2HttpMessageConverter();ObjectMapper objectMapper = new ObjectMapper();objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);jsonConverter.setObjectMapper(objectMapper);return jsonConverter;}@Overridepublic void configureMessageConverters(List<HttpMessageConverter<?>> converters) {converters.add(customJackson2HttpMessageConverter());super.addDefaultHttpMessageConverters();} }

在這里, WebMvcConfigurationSupport提供了一種更好地調整基于Spring的應用程序的MVC層配置的方法。 在configureMessageConverters方法中,正在注冊自定義轉換器,然后進行顯式調用以確保還注冊了默認值。 比基于Spring-Boot的應用程序需要更多的工作。

翻譯自: https://www.javacodegeeks.com/2014/09/customizing-httpmessageconverters-with-spring-boot-and-spring-mvc.html

總結

以上是生活随笔為你收集整理的使用Spring Boot和Spring MVC自定义HttpMessageConverters的全部內容,希望文章能夠幫你解決所遇到的問題。

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