52 lines
1.7 KiB
Java
52 lines
1.7 KiB
Java
package business.common.configure;
|
|
|
|
import java.text.ParseException;
|
|
import java.text.SimpleDateFormat;
|
|
import java.util.Date;
|
|
|
|
import javax.annotation.PostConstruct;
|
|
|
|
import org.springframework.context.annotation.Configuration;
|
|
import org.springframework.core.convert.converter.Converter;
|
|
import org.springframework.core.convert.support.GenericConversionService;
|
|
import org.springframework.web.bind.support.ConfigurableWebBindingInitializer;
|
|
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter;
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
/**
|
|
* @author HI
|
|
* @since 2020/12/9 9:50
|
|
*/
|
|
@Slf4j
|
|
@Configuration
|
|
public class FeignConfig {
|
|
private final RequestMappingHandlerAdapter handlerAdapter;
|
|
|
|
public FeignConfig(RequestMappingHandlerAdapter handlerAdapter) {
|
|
this.handlerAdapter = handlerAdapter;
|
|
}
|
|
|
|
@PostConstruct
|
|
public void initEditableValidation() {
|
|
ConfigurableWebBindingInitializer initializer = (ConfigurableWebBindingInitializer) handlerAdapter.getWebBindingInitializer();
|
|
if (initializer.getConversionService() != null) {
|
|
GenericConversionService genericConversionService = (GenericConversionService) initializer.getConversionService();
|
|
genericConversionService.addConverter(String.class, Date.class, new String2DateConverter());
|
|
}
|
|
}
|
|
|
|
class String2DateConverter implements Converter<String, Date> {
|
|
@Override
|
|
public Date convert(String source) {
|
|
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
try {
|
|
return simpleDateFormat.parse(source);
|
|
} catch (ParseException e) {
|
|
log.error("", e);
|
|
}
|
|
return null;
|
|
}
|
|
}
|
|
}
|