|
|
@ -1,7 +1,12 @@
|
|
|
|
package com.ruoyi.common.security.feign;
|
|
|
|
package com.ruoyi.common.security.feign;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import java.io.UnsupportedEncodingException;
|
|
|
|
|
|
|
|
import java.net.URLDecoder;
|
|
|
|
|
|
|
|
import java.util.Collection;
|
|
|
|
import java.util.Map;
|
|
|
|
import java.util.Map;
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import com.ruoyi.common.core.exception.base.BaseException;
|
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
import com.ruoyi.common.core.constant.SecurityConstants;
|
|
|
|
import com.ruoyi.common.core.constant.SecurityConstants;
|
|
|
|
import com.ruoyi.common.core.utils.ServletUtils;
|
|
|
|
import com.ruoyi.common.core.utils.ServletUtils;
|
|
|
@ -22,6 +27,23 @@ public class FeignRequestInterceptor implements RequestInterceptor
|
|
|
|
public void apply(RequestTemplate requestTemplate)
|
|
|
|
public void apply(RequestTemplate requestTemplate)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
HttpServletRequest httpServletRequest = ServletUtils.getRequest();
|
|
|
|
HttpServletRequest httpServletRequest = ServletUtils.getRequest();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 兼容SpringQueryMap,移除params
|
|
|
|
|
|
|
|
Map<String, Collection<String>> queries = requestTemplate.queries();
|
|
|
|
|
|
|
|
Collection<String> params = queries.get("params");
|
|
|
|
|
|
|
|
if (params != null) {
|
|
|
|
|
|
|
|
for (String param : params) {
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
String encode = URLDecoder.decode(param, "UTF-8");
|
|
|
|
|
|
|
|
if (encode.equals("{}")) {
|
|
|
|
|
|
|
|
requestTemplate.query("params");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} catch (UnsupportedEncodingException e) {
|
|
|
|
|
|
|
|
throw new BaseException("feign过滤字符失败");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (StringUtils.isNotNull(httpServletRequest))
|
|
|
|
if (StringUtils.isNotNull(httpServletRequest))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
Map<String, String> headers = ServletUtils.getHeaders(httpServletRequest);
|
|
|
|
Map<String, String> headers = ServletUtils.getHeaders(httpServletRequest);
|
|
|
|