spring mvc enum request param

2020-03-06  本文已影响0人  BenjaminCool

https://stackoverflow.com/questions/39774427/springs-requestparam-with-enum/39774853

针对第五种情况, 大家应该用的比较多了: Spring Boot 默认集成的 HTTP 序列化和反序列化工具 jackson 就提供了注解 @JsonCreator 来设定默认的反序列化方法. 示例:

public enum GenderEnum {
    MALE(1),

    FEMALE(2);

    private int value;

    @JsonValue
    public int getValue() {
        return value;
    }

    @JsonCreator
    public static GenderEnum of(Integer value) {
        if (null == value) {
            return null;
        }

        for (GenderEnum item : GenderEnum.values()) {
            if (value.equals(item.getValue())) {
                return item;
            }
        }

        throw new UnknownEnumValueException("GenderEnum: unknown value: " + value);
    }

    GenderEnum(int value) {
        this.value = value;
    }
}

上一篇 下一篇

猜你喜欢

热点阅读