SpringCloud-Gateway对multipart/form-data等其他POST请求类型的body体进行多次打开

By | 2020年11月10日

本次代码仅在以下版本中测试通过

这几天在用gateway进行鉴权校验的时候遇到很多坑,以前使用的都是x-www-form-urlencoded这种格式的Body,很容易就可以用gateway打开进行操作,但这次因为涉及到图片上传,所以请求格式变了,打开的过程变得非常曲折。

先是找到了下面这种办法,确实可以打开并获取body里的内容,而且还是非常规则的类型,不需要二次提取,formData即是我们想要的内容,后来在路由之后的controller中发现body里没有数据了,原来gateway只能打开一次。

后来换成了这个样子,先使用GlobalFilter对body内容进行缓存,之后便可以在方法里进行调用

这里是提取出来的内容,需要根据规则进行二次加工,但不复杂

发表评论

电子邮件地址不会被公开。 必填项已用*标注