时间注解格式有三种:
@JSONField(format = “yyyy-MM-dd HH:mm:ss”)
这里适用的转换是fashjson
@JsonFormat
这里使用的是Json格式转换
@DateTimeFormat
这里使用的是Spring自带的格式
这里我使用的是Fashjson的范湖一个是,所以使用其他的时间转换格式会失败,无效
package com.bsj.openBoot.authorization;
import com.alibaba.fastjson.support.config.FastJsonConfig;
import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
import com.bsj.openBoot.authorization.interceptor.AuthorizationInterceptor;
import com.bsj.openBoot.authorization.resolvers.CurrentUserMethodArgumentResolver;
import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
import org.springframework.boot.web.servlet.MultipartConfigFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.MediaType;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.util.unit.DataSize;
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import javax.annotation.Resource;
import javax.servlet.MultipartConfigElement;
import java.util.ArrayList;
import java.util.List;
/**
* web配置
*/
@Configuration
public class WebConfig implements WebMvcConfigurer {
//这个试拦截器的方法接口
@Resource
private AuthorizationInterceptor authorizationInterceptor;
/**
* 跨域配置
* @param registry
*/
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**").allowedOrigins("*")
.allowedMethods("GET", "HEAD", "POST","PUT", "DELETE", "OPTIONS")
.allowCredentials(true).maxAge(3600);
}
/**
* 添加拦截器
* @param registry
* @return void
* @date 2018/9/10 14:19
*/
@Override
public void addInterceptors(InterceptorRegistry registry) {
// 自定义拦截器,添加拦截路径和排除拦截路径
//这个试拦截器的方法接口registry.addInterceptor(authorizationInterceptor).addPathPatterns("/**");
}
/**
* 注入当前登录用户
*
* @param argumentResolvers 参数解决器
* @return void
*/
@Override
public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
argumentResolvers.add(new CurrentUserMethodArgumentResolver());
}
/**
* 注入fastJson 解析
* @return
*/
@Bean
public HttpMessageConverters fastJsonHttpMessageConverters(){
//1.需要定义一个convert转换消息的对象;
FastJsonHttpMessageConverter fastJsonHttpMessageConverter = new FastJsonHttpMessageConverter();
//2:添加fastJson的配置信息;
FastJsonConfig fastJsonConfig = new FastJsonConfig();
//3处理中文乱码问题
List<MediaType> fastMediaTypes = new ArrayList<>();
fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
//4.在convert中添加配置信息.
fastJsonHttpMessageConverter.setSupportedMediaTypes(fastMediaTypes);
fastJsonHttpMessageConverter.setFastJsonConfig(fastJsonConfig);
HttpMessageConverter<?> converter = fastJsonHttpMessageConverter;
return new HttpMessageConverters(converter);
}
/**
* 设置文件上传大小
* @return
*/
@Bean
public MultipartConfigElement multipartConfigElement(){
MultipartConfigFactory multipartConfigFactory = new MultipartConfigFactory();
// 单个文件最大,KB/MB
multipartConfigFactory.setMaxFileSize(DataSize.ofMegabytes(20));
// 设置总上传数据大小
multipartConfigFactory.setMaxRequestSize(DataSize.ofMegabytes(20));
return multipartConfigFactory.createMultipartConfig();
}
// @Override
// public RequestMappingHandlerMapping requestMappingHandlerMapping() {
// return new CustomRequestMappingHandlerMapping();
// }
}