spring在控制层接收前台参数时,会自动将string转为list

如题,在接口调用时候发现接收类型是一个list,但是传参传字符串即可,多个用逗号分隔,这样的话省去了我们很多的处理。

简单研究了下源码,跟到了处理的关键点。

GenericConversionService这个类

spring在控制层接收前台参数时,会自动将string转为list

在convert方法中调用了

ConversionUtils.invokeConverter方法

spring在控制层接收前台参数时,会自动将string转为list

接着调用接口

GenericConverter的convert方法,它转化string的具体实现:

spring在控制层接收前台参数时,会自动将string转为list

在这个转化的实现里调用了stringutils的

commaDelimitedListToStringArray方法

spring在控制层接收前台参数时,会自动将string转为list

接着往下

spring在控制层接收前台参数时,会自动将string转为list

最终是spring在控制层接收前台参数时,会自动将string转为list

虽然还没有完全弄明白整个流程,但是大致了解了它是如何将字符串解析为list的。