From ea193c5a2a8b56b1d51632e14dba3d01d4c8bc27 Mon Sep 17 00:00:00 2001 From: GPU is all you need <2778335106@qq.com> Date: Mon, 21 Mar 2022 11:04:26 +0800 Subject: [PATCH] =?UTF-8?q?2022/3/21=20=E5=88=9A=E6=98=8E=E7=99=BD?= =?UTF-8?q?=E4=B8=80=E7=82=B9=E9=A1=B9=E7=9B=AE=E6=A1=86=E6=9E=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../edu/ncst/award/config/JacksonConfig.java | 50 +++++++++++++++++++ .../edu/ncst/award/config/JsonConfig.java | 47 ----------------- .../award/controller/ProjectController.java | 2 + .../award/mapper/system/ProjectMapper.java | 2 + .../edu/ncst/award/model/project/Project.java | 2 + .../ncst/award/service/IProjectService.java | 2 + .../impl/project/ProjectServiceImpl.java | 2 + 7 files changed, 60 insertions(+), 47 deletions(-) create mode 100644 awardBE/src/main/java/edu/ncst/award/config/JacksonConfig.java delete mode 100644 awardBE/src/main/java/edu/ncst/award/config/JsonConfig.java create mode 100644 awardBE/src/main/java/edu/ncst/award/controller/ProjectController.java create mode 100644 awardBE/src/main/java/edu/ncst/award/mapper/system/ProjectMapper.java create mode 100644 awardBE/src/main/java/edu/ncst/award/model/project/Project.java create mode 100644 awardBE/src/main/java/edu/ncst/award/service/IProjectService.java create mode 100644 awardBE/src/main/java/edu/ncst/award/service/impl/project/ProjectServiceImpl.java diff --git a/awardBE/src/main/java/edu/ncst/award/config/JacksonConfig.java b/awardBE/src/main/java/edu/ncst/award/config/JacksonConfig.java new file mode 100644 index 0000000..7593283 --- /dev/null +++ b/awardBE/src/main/java/edu/ncst/award/config/JacksonConfig.java @@ -0,0 +1,50 @@ +package edu.ncst.award.config; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.databind.SerializationFeature; +import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer; +import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; +import com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer; +import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer; +import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; +import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer; +import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.core.Ordered; +import org.springframework.core.annotation.Order; +import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; + +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.time.format.DateTimeFormatter; + +@Configuration +public class JacksonConfig { + + @Bean + @Order(Ordered.HIGHEST_PRECEDENCE) + public Jackson2ObjectMapperBuilderCustomizer customJackson() { + return new Jackson2ObjectMapperBuilderCustomizer() { + @Override + public void customize(Jackson2ObjectMapperBuilder builder) { + builder.serializerByType(LocalDateTime.class, + new LocalDateTimeSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + builder.serializerByType(LocalDate.class, + new LocalDateSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); + builder.serializerByType(LocalTime.class, + new LocalTimeSerializer(DateTimeFormatter.ofPattern("HH:mm:ss"))); + builder.deserializerByType(LocalDateTime.class, + new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + builder.deserializerByType(LocalDate.class, + new LocalDateDeserializer(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); + builder.deserializerByType(LocalTime.class, + new LocalTimeDeserializer(DateTimeFormatter.ofPattern("HH:mm:ss"))); + builder.serializationInclusion(JsonInclude.Include.NON_NULL); + builder.failOnUnknownProperties(false); + builder.featuresToDisable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); + } + }; + } +} diff --git a/awardBE/src/main/java/edu/ncst/award/config/JsonConfig.java b/awardBE/src/main/java/edu/ncst/award/config/JsonConfig.java deleted file mode 100644 index 731c4e8..0000000 --- a/awardBE/src/main/java/edu/ncst/award/config/JsonConfig.java +++ /dev/null @@ -1,47 +0,0 @@ - -package edu.ncst.award.config; - -import com.alibaba.fastjson.serializer.SerializerFeature; -import com.alibaba.fastjson.support.config.FastJsonConfig; -import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.http.MediaType; -import org.springframework.http.converter.HttpMessageConverter; - -import java.nio.charset.Charset; -import java.util.ArrayList; -import java.util.List; - -@Configuration -public class JsonConfig { - - - @Bean - public HttpMessageConverter configureMessageConverters() { - FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter(); - FastJsonConfig config = new FastJsonConfig(); - config.setSerializerFeatures( - // 保留map空的字段 - SerializerFeature.WriteMapNullValue, - // 将String类型的null转成"" - SerializerFeature.WriteNullStringAsEmpty, - // 将Number类型的null转成0 - SerializerFeature.WriteNullNumberAsZero, - // 将List类型的null转成[] - SerializerFeature.WriteNullListAsEmpty, - // 将Boolean类型的null转成false - SerializerFeature.WriteNullBooleanAsFalse, - // 避免循环引用 - SerializerFeature.DisableCircularReferenceDetect); - - converter.setFastJsonConfig(config); - converter.setDefaultCharset(Charset.forName("UTF-8")); - List mediaTypeList = new ArrayList<>(); - // 解决中文乱码问题,相当于在Controller上的@RequestMapping中加了个属性produces = "application/json" - mediaTypeList.add(MediaType.APPLICATION_JSON); - converter.setSupportedMediaTypes(mediaTypeList); - return converter; - } - } - diff --git a/awardBE/src/main/java/edu/ncst/award/controller/ProjectController.java b/awardBE/src/main/java/edu/ncst/award/controller/ProjectController.java new file mode 100644 index 0000000..ae68c59 --- /dev/null +++ b/awardBE/src/main/java/edu/ncst/award/controller/ProjectController.java @@ -0,0 +1,2 @@ +package edu.ncst.award.controller;public class ProjectController { +} diff --git a/awardBE/src/main/java/edu/ncst/award/mapper/system/ProjectMapper.java b/awardBE/src/main/java/edu/ncst/award/mapper/system/ProjectMapper.java new file mode 100644 index 0000000..e54b87a --- /dev/null +++ b/awardBE/src/main/java/edu/ncst/award/mapper/system/ProjectMapper.java @@ -0,0 +1,2 @@ +package edu.ncst.award.mapper.system;public interface ProjectMapper { +} diff --git a/awardBE/src/main/java/edu/ncst/award/model/project/Project.java b/awardBE/src/main/java/edu/ncst/award/model/project/Project.java new file mode 100644 index 0000000..031183c --- /dev/null +++ b/awardBE/src/main/java/edu/ncst/award/model/project/Project.java @@ -0,0 +1,2 @@ +package edu.ncst.award.model.project;public class Project { +} diff --git a/awardBE/src/main/java/edu/ncst/award/service/IProjectService.java b/awardBE/src/main/java/edu/ncst/award/service/IProjectService.java new file mode 100644 index 0000000..ce13ef9 --- /dev/null +++ b/awardBE/src/main/java/edu/ncst/award/service/IProjectService.java @@ -0,0 +1,2 @@ +package edu.ncst.award.service.impl;public interface IProjectService { +} diff --git a/awardBE/src/main/java/edu/ncst/award/service/impl/project/ProjectServiceImpl.java b/awardBE/src/main/java/edu/ncst/award/service/impl/project/ProjectServiceImpl.java new file mode 100644 index 0000000..47e417a --- /dev/null +++ b/awardBE/src/main/java/edu/ncst/award/service/impl/project/ProjectServiceImpl.java @@ -0,0 +1,2 @@ +package edu.ncst.award.service.impl.project;public class ProjectServiceImpl { +}