【发布时间】:2016-12-29 00:13:29
【问题描述】:
当 java 代码从 mongo 加载 enum 代码中不存在的枚举值时,我希望代码不会引发异常
示例:
java.lang.IllegalArgumentException: No enum constant fr.myapp.type.OrderOptionEnum.TELEPHONE
at java.lang.Enum.valueOf(Enum.java:238)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.getPotentiallyConvertedSimpleRead(MappingMongoConverter.java:819)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.readCollectionOrArray(MappingMongoConverter.java:909)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.readValue(MappingMongoConverter.java:1184)
因为 OrderOptionEnum 中不存在 TELEPHONE
我只是想让代码返回空值
有什么想法吗?
问候
【问题讨论】:
-
我认为你需要创建一个自定义的ConverterFactory:stackoverflow.com/a/30024621/641627
-
这是旧的,但可能对你有帮助(他包装了他的枚举):ghads.wordpress.com/2011/04/12/mongodb-and-java-enums
标签: spring spring-boot spring-data spring-data-mongodb mongodb-java