WebMvcConfig.java 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package com.fjhx.email.config;
  2. import com.baomidou.mybatisplus.core.metadata.IPage;
  3. import com.fasterxml.jackson.core.JsonGenerator;
  4. import com.fasterxml.jackson.databind.JsonSerializer;
  5. import com.fasterxml.jackson.databind.ObjectMapper;
  6. import com.fasterxml.jackson.databind.SerializerProvider;
  7. import com.fasterxml.jackson.databind.module.SimpleModule;
  8. import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
  9. import com.fjhx.email.utils.PageWrapper;
  10. import org.springframework.context.annotation.Configuration;
  11. import org.springframework.http.converter.HttpMessageConverter;
  12. import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
  13. import org.springframework.web.servlet.config.annotation.EnableWebMvc;
  14. import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
  15. import java.io.IOException;
  16. import java.text.SimpleDateFormat;
  17. import java.util.List;
  18. /**
  19. * WebMvc配置
  20. */
  21. @EnableWebMvc
  22. @Configuration
  23. @SuppressWarnings({"unchecked", "rawtypes"})
  24. public class WebMvcConfig implements WebMvcConfigurer {
  25. /**
  26. * webMvc序列化
  27. */
  28. @Override
  29. public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
  30. MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
  31. ObjectMapper objectMapper = converter.getObjectMapper()
  32. // 时间格式化
  33. .setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"))
  34. .registerModule(new SimpleModule()
  35. // 将Long转换成String
  36. .addSerializer(Long.class, ToStringSerializer.instance)
  37. // 将Page转成PageWrapper
  38. .addSerializer(IPage.class, new JsonSerializer<IPage>() {
  39. @Override
  40. public void serialize(IPage page, JsonGenerator jg, SerializerProvider sp) throws IOException {
  41. jg.writeObject(new PageWrapper(page));
  42. }
  43. })
  44. );
  45. converter.setObjectMapper(objectMapper);
  46. converters.add(converter);
  47. }
  48. }