在实际项目开发过程中,我们使用 Feign 实现服务与服务之间的调用 是在很多情
况下,多参数传递是无法避免的 下面我们分两种情况,讨论如何在 GET POST 情况下
,在Web开发中 SpringMVC支持GET法直接绑定POJO,但是Feign
的实现并未覆盖所有 SpringMVC的功能,目解决方式有很多,最常见的解决方式如下:
且把POJO拆散成一个一独的属性放在方法参数里口把方法参数 Map传递
使用GE传递@RequestBody,但此方式违反Restful规范
本案中我们介绍最佳的实践方式,即通过Feign拦截器的方式处理
1.Feign拦截器代码如下:(消费端)
package com.kongliand.feign.intercept;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import feign.Request;
import feign.RequestInterceptor;
import feign.RequestTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
import java.io.IOException;
import java.util.*;