Java Spring引导getConversionService返回null
我在使用spring boot时遇到了一个问题,在我的控制器中,我的参数类型是Date,URL如下Java Spring引导getConversionService返回null,java,spring,spring-boot,Java,Spring,Spring Boot,我在使用spring boot时遇到了一个问题,在我的控制器中,我的参数类型是Date,URL如下/testDateParam?Date=2018-05-14,因此我向类型转换器写入了一个字符串,但我仍然收到了由以下原因引起的错误: java.lang.IllegalStateException:无法将类型为“java.lang.String”的值转换为所需的类型“java.util.Date”:找不到匹配的编辑器或转换策略 调试后,我在类TypeConverterDelegate中发现方法Co
/testDateParam?Date=2018-05-14
,因此我向类型
转换器写入了一个字符串
,但我仍然收到了由以下原因引起的错误:
java.lang.IllegalStateException:无法将类型为“java.lang.String”的值转换为所需的类型“java.util.Date”:找不到匹配的编辑器或转换策略
调试后,我在类TypeConverterDelegate
中发现方法ConvertifEssential
为空:
ConversionService conversionService = this.propertyEditorRegistry.getConversionService();
我收到了一个null
,但是如果我使用
SpringContextHolder.getBean("conversionService")
我可以获得我定义的有效转换服务:
@Bean(name="conversionService")
public ConversionServiceFactoryBean getConversionService() {
ConversionServiceFactoryBean bean = new ConversionServiceFactoryBean();
Set<Converter> converters = new HashSet<>();
converters.add(new RyderStringToDateConverter());
bean.setConverters(converters);
return bean;
}
@Bean(name=“conversionService”)
公共转换服务工厂bean getConversionService(){
ConversionServiceFactoryBean=新的ConversionServiceFactoryBean();
Set converters=新的HashSet();
添加(新的RyderStringToDateConverter());
设置转换器(转换器);
返回豆;
}
在我创建的一个演示项目中,这很好,但在我的工作项目中,我真的不知道如何解决它,任何想法我都会很感激,谢谢
ps:spring boot是最新版本2.0.1。发布版如果您使用Springboot,则不必覆盖参数转换。 只需尝试将其添加到控制器: @RequestParam@DateTimeFormat(iso=DateTimeFormat.iso.DATE)日期日期
有关的更多信息,请将您的问题格式化,使其易于阅读。对此,我深表歉意,并感谢您为此对其进行编辑me@RequestMapping(“/testDateParam”)@ResponseBody公共字符串testDateParam(@RequestParam@DateTimeFormat(pattern=“yyyy-MM-dd”)Date-Date){return-Date.toString();}仍然有相同的错误…您是否有默认的jackson反序列化/序列化,或者您是否为该项目使用自定义的反序列化/序列化?发现问题后,我使用shiro来控制我的权限,但在调度请求时不知何故出现了一些错误,难以调试