¶Ô±ÈÐÂÎļþ |
| | |
| | | /* |
| | | * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. |
| | | * |
| | | * Redistribution and use in source and binary forms, with or without |
| | | * modification, are permitted provided that the following conditions are met: |
| | | * |
| | | * Redistributions of source code must retain the above copyright notice, |
| | | * this list of conditions and the following disclaimer. |
| | | * Redistributions in binary form must reproduce the above copyright |
| | | * notice, this list of conditions and the following disclaimer in the |
| | | * documentation and/or other materials provided with the distribution. |
| | | * Neither the name of the dreamlu.net developer nor the names of its |
| | | * contributors may be used to endorse or promote products derived from |
| | | * this software without specific prior written permission. |
| | | * Author: Chill åºéª (smallchill@163.com) |
| | | */ |
| | | package org.springblade.core.tool.config; |
| | | |
| | | |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import lombok.AllArgsConstructor; |
| | | import org.springblade.core.tool.jackson.BladeJacksonProperties; |
| | | import org.springblade.core.tool.jackson.MappingApiJackson2HttpMessageConverter; |
| | | import org.springblade.core.tool.utils.DateUtil; |
| | | import org.springframework.boot.autoconfigure.AutoConfiguration; |
| | | import org.springframework.core.Ordered; |
| | | import org.springframework.core.annotation.Order; |
| | | import org.springframework.format.FormatterRegistry; |
| | | import org.springframework.format.datetime.DateFormatter; |
| | | import org.springframework.http.converter.*; |
| | | import org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter; |
| | | import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; |
| | | |
| | | import java.nio.charset.StandardCharsets; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * æ¶æ¯é
置类 |
| | | * |
| | | * @author Chill |
| | | */ |
| | | @AutoConfiguration |
| | | @AllArgsConstructor |
| | | @Order(Ordered.HIGHEST_PRECEDENCE) |
| | | public class MessageConfiguration implements WebMvcConfigurer { |
| | | |
| | | private final ObjectMapper objectMapper; |
| | | private final BladeJacksonProperties properties; |
| | | |
| | | /** |
| | | * ä½¿ç¨ JACKSON ä½ä¸ºJSON MessageConverter |
| | | * æ¶æ¯è½¬æ¢ï¼å
ç½®æç¹ç»ä¼ ï¼ä¸è½½åå符串 |
| | | */ |
| | | @Override |
| | | public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { |
| | | converters.removeIf(x -> x instanceof StringHttpMessageConverter || x instanceof AbstractJackson2HttpMessageConverter); |
| | | converters.add(new StringHttpMessageConverter(StandardCharsets.UTF_8)); |
| | | converters.add(new ByteArrayHttpMessageConverter()); |
| | | converters.add(new ResourceHttpMessageConverter()); |
| | | converters.add(new ResourceRegionHttpMessageConverter()); |
| | | converters.add(new MappingApiJackson2HttpMessageConverter(objectMapper, properties)); |
| | | } |
| | | |
| | | /** |
| | | * æ¥ææ ¼å¼å |
| | | */ |
| | | @Override |
| | | public void addFormatters(FormatterRegistry registry) { |
| | | registry.addFormatter(new DateFormatter(DateUtil.PATTERN_DATE)); |
| | | registry.addFormatter(new DateFormatter(DateUtil.PATTERN_DATETIME)); |
| | | } |
| | | |
| | | } |