中国算力平台算力登记系统2.0
yanzhaofeige
5 days ago 37f8463032c06236bfd098133c31cda51217b00f
commit | author | age
37f846 1 package com.odcc.cpzidc.framework.config;
Y 2
3 import com.fasterxml.jackson.annotation.JsonInclude;
4 import com.fasterxml.jackson.databind.MapperFeature;
5 import com.fasterxml.jackson.databind.ObjectMapper;
6 import com.fasterxml.jackson.databind.module.SimpleModule;
7 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
8 import org.springframework.context.annotation.Bean;
9 import org.springframework.context.annotation.Configuration;
10 import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
11 import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
12
13 import java.text.SimpleDateFormat;
14 import java.util.TimeZone;
15
16 /**
17  * Jackson配置
18  * 
19  * @author ruoyi
20  *
21  */
22 @Configuration
23 public class JacksonConfig
24 {
25     @Bean
26     public MappingJackson2HttpMessageConverter jackson2HttpMessageConverter()
27     {
28         final Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder();
29         builder.serializationInclusion(JsonInclude.Include.NON_NULL);
30         final ObjectMapper objectMapper = builder.build();
31         SimpleModule simpleModule = new SimpleModule();
32         // Long 转为 String 防止 js 丢失精度
33         simpleModule.addSerializer(Long.class, ToStringSerializer.instance);
34         objectMapper.registerModule(simpleModule);
35         // 忽略 transient 关键词属性
36         objectMapper.configure(MapperFeature.PROPAGATE_TRANSIENT_MARKER, true);
37         // 时区设置
38         objectMapper.setTimeZone(TimeZone.getTimeZone("GMT+8"));
39         objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
40         return new MappingJackson2HttpMessageConverter(objectMapper);
41     }
42 }