遇坑说明
曾经也经常使用Feign进行数据传输,更多的是关注服务熔断和降级的处理。最近参与的一个项目中,有一个发送邮件的功能,本来一切都是那么的简单,最开始的时候,内部写一个工具类调用就可以了,已经成功上线运行。过了一段时间, 邮件里面需要发送附件,后面针对文件都需要做安全扫描,需要调用内部公共扫描接口,由于申请权限过程复杂,流程很长,项目运行过程中不能等待。这时就想着调用已有服务的接口,传输邮件信息就可以了,由被调用服务做安全扫描。最开始也觉得没什么难度,调用一下就可以了,找到别人服务的接口人,发了一个调用实例过来,由于别人也比较忙,就没有多问,好吧,直接开始开工把。
Feign发送表单数据
下面的内容,不是真实的项目内容,但是能够表达问题所在。
实体类似这样,其中我不能够理解为什么文件需要使用map接收,没get到接口人的点,不知道大家是否能够理解:
@Data
public class EmailDTO {
/**邮件主题*/
private String title;
/**正文*/
private String content;
/**接受者*/
private String receiver;
/**附件列表*/
private Map<String, MultipartFile> fileList;
}
远程服务接口大概是这样的: