public class EnumConverterFactory extends Object implements org.springframework.core.convert.converter.ConverterFactory<String,Enum<?>>
该类为处理请求参数中的枚举对应值和枚举对象进行相互转换而存在
当请求参数为枚举时, 且枚举中存在标注了 @EnumConvertValue 注解的静态方法或者类实现了 BaseEnum 的枚举
(两者同时存在时标注了 @EnumConvertValue 注解的静态方法优先级为最高), 可以自动将该对象属性名称与请求参数进行匹配,
Warning: 底层通过 ConverterFactory 进行实现时必须指定请求参数数据类型与转换的数据类型,
因此当请求参数为枚举时, 请求参数的类型必须为 String,
转换的枚举必须在方法上标注 @EnumConvertValue 注解或者实现 BaseEnum 接口
@EnumConvertValue 注解使用方法请参见该注解类文档
推荐自定义枚举类实现 BaseEnum 接口而不是使用 @EnumConvertValue 注解
当请求参数为请求体时需要在枚举类中加上下列代码实现, 代码示例:
@JsonCreator(mode = JsonCreator.Mode.DELEGATING)
public static [枚举类] resolve(String value) {
return BaseEnum.resolve(value, [枚举类].class);
}
@EnumConvertValue,
BaseEnum,
WebMvcConfig| 构造器和说明 |
|---|
EnumConverterFactory() |
Copyright © 2021 HaiChuang Inc.. All rights reserved.