+-
java – 在Spring Boot控制器中反序列化枚举忽略大小写
参见英文答案 > Jackson databind enum case insensitive                                    10个
我有Spring Boot端点,它有枚举作为查询参数:

@GetMapping("/example")
public List<Example> getByEnum(@RequestParam(name = "exampleEnum", required = false) ExampleEnum exampleEnum) {
    // code
}

和枚举类:

public enum ExampleEnum {
    FIRST,
    SECOND,
}

如果我将大写枚举值传递给endpoit,它反序列化很好,但它会抛出小写错误:

java.lang.IllegalArgumentException: No enum constant 

如何在Spring Boot Rest端点中反序列化枚举忽略大小写?

最佳答案
Spring Boot 2.0使用的是具有 ACCEPT_CASE_INSENSITIVE_ENUMS功能的Jackson 2.9.您应该可以通过设置启用它

spring.jackson.mapper.ACCEPT_CASE_INSENSITIVE_ENUMS = true 

财产按照docs, Appendix A.

点击查看更多相关文章

转载注明原文:java – 在Spring Boot控制器中反序列化枚举忽略大小写 - 乐贴网