springboot接收Enum参数时,当参数值不在定义范围内时会报错的问题

简介

springboot可以将接收到的参数值自动转换成对象或相应类型的参数,当定义了Enum类型的参数时,传入的参数值又不在定义范围内时,springboot会报错,这有点不实用了。通常在这种情况我们可能期望得到一个null值的Enum参数而不是报错,那么应该如何处理呢?

解决方案

只需要在项目中增加一个Jackson相关的配置即可,具体代码如下

@Configuration
public class JacksonConfiguration {
    @Bean
    public Jackson2ObjectMapperBuilder objectMapperBuilder() {
        Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder();
builder.featuresToEnable(DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL);
        // 如果需要,还可以在这里配置其他特性,例如:
        // builder.featuresToDisable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
        return builder;
    }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值