我的问题
1.我要实现的功能是,http请求再经过gateway的时候,可以修改、查看、添加请求数据,然后JSON格式的我已经处理好了
2.在使用form-data传参时候,上传文件的时候我通过将报文转为string进行操作(添加了一组数据),在编译回去总是有问题,filter放行到后面的服务上时,接口总是出现无法解析。
3.问题发生在报文数据转String,编辑之后在转回去,我通过查看文本信息,看不出来问题,困扰了很久
解决方案
这里暂不讨论各种DataBuffer、getBody()之类,前提都是已经能获取到信息的前提下
编辑http报文的信息,boundary等编辑的时候需要"\r\n",字符串格式一定要这个样子!!!不然看起来报文信息和原来一模一样,还是会出错
builder.append(boundary + "Content-Disposition: form-data; name=\"userId\"\r\n" +
"\r\n" +
"ABC\r\n");
//注意上下的字符串格式
// builder.append(boundary + "Content-Disposition: form-data; name=\"userId\"" +
// "\n" +
// "\n" +
// "ABC\n");
参考:https://www.bbsmax.com/A/E35pRr8zvX/