一切福田,不離方寸,從心而覓,感無不通。

webflux 支持formdata获取参数(包括文件),以及formdata参数封装

在项目微服务的升级过程中,我们通常会设置一个网关,作为一个洪流的出入口,在Spring Cloud 中提供了对应的功能,也就是Spring Cloud Gateway。对于旧的项目springMVC,实际也就是将spring-webmvc升级为spring-webflux,但你会发现fromdata 形式的数据,在webmvc可以被封装成参数,而在webflux中却不能,是不支持吗?
在spring官方文档中,有提及对fromdata表单数据的获取,如下图
在这里插入图片描述
fromdata表单数据需要通过ServerWebExchange 的getFormData()获取【也可以通过getMultipartData()方法获取数据】
主要对数据处理的代码如下:

 

具体的例子:比如需要从表单中取出file(MultipartFile)

 

文件处理工具类

 

直此,我们就能够获取到fromdata的数据

但这样子对于想获取fromdata数据,每次都需要引用ServerWebExchange ,然后通过getMultipartData()方法获取数据,比较臃肿,能否对数据重新进行封装呢,答案是可以的,下面我通过注解和配置封装参数解析类 进行fromdata数据的二次封装,代码案例如下:
controller层代码:

 

注解类

 

WebConfigurer 配置类

 

请求参数二次解析封装

 

以上代码,为作者个人观点,如有不足处,请指教;

 

from:https://blog.csdn.net/qq_37044686/article/details/121176415