本文主要是介绍springboot枚举反序列化,@JsonCreator注解各种报错解决方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
你多努力一点,获得的打击就多一点。
今天使用枚举传参就出现了各种报错。
比如这样的:
org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error:
Input mismatch reading Enum Gender: properties-based @JsonCreator ([method Gender#codeOf(java.lang.String)])
expects JSON Object (JsonToken.START_OBJECT), got JsonToken.VALUE_NUMBER_INT;
然后在网上找解决方案又变成这样的:
org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error:
Cannot construct instance of `Gender`, problem: argument type mismatch
我在网上找了很多方案,最后都不如人意。没办法,降版本吧。
把jackson的版本降下来就好使了
降版本的方法很简单,就是在pom文件中添加一个标签就好了。
我们在springboot的父pom文件中可以看到它自己定义的jackson版本
那么我们只需要在我们自己项目中,把这个标签重新定义一下即可,其他什么都不需要修改,就像这样
这样,我们项目的jackson版本就修改成2.10.5了。
把Jackson的版本降到2.10.*及以下就可以正常的使用@JsonCreator注解了。
这篇关于springboot枚举反序列化,@JsonCreator注解各种报错解决方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!