springboot怎么实现枚举类型传递
导读:本文共2424.5字符,通常情况下阅读需要8分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 测试首先先建立一个枚举类:publicenumScoreType{TOTAL_SCORE("总评成绩"),MIDDLE_SCORE("期中成绩"),FINAL_SCORE("期末成绩");Stringdes;//描述ScoreType(Stringdes){this.des=des;}p... ...
目录
(为您整理了一些要点),点击可以直达。首先先建立一个枚举类:
再建立一个枚举api接口:
进行测试,使用枚举名发送数据:
使用枚举序号发送数据:
由此可见,在springboot默认请求参数映射中,枚举类型只能通过枚举名来进行参数映射,但有时候我们需要用序号来做映射。
顾明思议Converter就是转换的意思,我们可以通过定义的Converter来确定参数到枚举类型之间的转换:
分析代码,根据运行时具体枚举类的参数,获取所有枚举值,并将各个枚举值序列和枚举值名与枚举值之间做映射(保存在Map中),如上述枚举类型,将会生成以下Map:
通过此Converter,就可以实现前台传序号和枚举名,都能成功映射到枚举类型,将此Converter通过工厂模式提供到springboot中:
进行测试,使用枚举名发送数据:
为了保证灵活性,每个枚举类型可以自定义转换的方式,建立一个接口,对接口进行类型转换,建立一个BaseEnum接口:
枚举类实现此接口,并定义映射方式
转换器统一对BaseEnum进行转换:
对于每个枚举类型,可通过返回的keys来自定义转换的方式。
springboot怎么实现枚举类型传递的详细内容,希望对您有所帮助,信息来源于网络。