【fix sonar】FeignConfig文件
This commit is contained in:
+31
-30
@@ -1,20 +1,25 @@
|
|||||||
package com.jero.config;
|
package com.jero.config;
|
||||||
|
|
||||||
import java.io.IOException;
|
import com.alibaba.fastjson.JSON;
|
||||||
import java.util.ArrayList;
|
import com.alibaba.fastjson.serializer.SerializerFeature;
|
||||||
import java.util.Arrays;
|
import com.alibaba.fastjson.support.config.FastJsonConfig;
|
||||||
import java.util.List;
|
import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
|
||||||
import java.util.SortedMap;
|
import com.alibaba.fastjson.support.springfox.SwaggerJsonSerializer;
|
||||||
|
import com.jero.common.config.mqtoken.UserTokenContext;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
|
||||||
|
|
||||||
import com.jero.common.constant.CommonConstant;
|
import com.jero.common.constant.CommonConstant;
|
||||||
import com.jero.common.util.DateUtils;
|
import com.jero.common.util.DateUtils;
|
||||||
import com.jero.common.util.PathMatcherUtil;
|
import com.jero.common.util.PathMatcherUtil;
|
||||||
import com.jero.common.config.mqtoken.UserTokenContext;
|
|
||||||
import com.jero.config.sign.interceptor.SignAuthConfiguration;
|
import com.jero.config.sign.interceptor.SignAuthConfiguration;
|
||||||
import com.jero.config.sign.util.HttpUtils;
|
import com.jero.config.sign.util.HttpUtils;
|
||||||
import com.jero.config.sign.util.SignUtil;
|
import com.jero.config.sign.util.SignUtil;
|
||||||
|
import feign.Feign;
|
||||||
|
import feign.Logger;
|
||||||
|
import feign.RequestInterceptor;
|
||||||
|
import feign.RequestTemplate;
|
||||||
|
import feign.codec.Decoder;
|
||||||
|
import feign.codec.Encoder;
|
||||||
|
import feign.form.spring.SpringFormEncoder;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.ObjectFactory;
|
import org.springframework.beans.factory.ObjectFactory;
|
||||||
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
|
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||||
@@ -30,19 +35,12 @@ import org.springframework.http.MediaType;
|
|||||||
import org.springframework.web.context.request.RequestContextHolder;
|
import org.springframework.web.context.request.RequestContextHolder;
|
||||||
import org.springframework.web.context.request.ServletRequestAttributes;
|
import org.springframework.web.context.request.ServletRequestAttributes;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSON;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import com.alibaba.fastjson.serializer.SerializerFeature;
|
import java.io.IOException;
|
||||||
import com.alibaba.fastjson.support.config.FastJsonConfig;
|
import java.util.ArrayList;
|
||||||
import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
|
import java.util.Arrays;
|
||||||
import com.alibaba.fastjson.support.springfox.SwaggerJsonSerializer;
|
import java.util.List;
|
||||||
|
import java.util.SortedMap;
|
||||||
import feign.Feign;
|
|
||||||
import feign.Logger;
|
|
||||||
import feign.RequestInterceptor;
|
|
||||||
import feign.codec.Decoder;
|
|
||||||
import feign.codec.Encoder;
|
|
||||||
import feign.form.spring.SpringFormEncoder;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
|
|
||||||
|
|
||||||
@ConditionalOnClass(Feign.class)
|
@ConditionalOnClass(Feign.class)
|
||||||
@@ -56,6 +54,16 @@ public class FeignConfig {
|
|||||||
return requestTemplate -> {
|
return requestTemplate -> {
|
||||||
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
|
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
|
||||||
if (null != attributes) {
|
if (null != attributes) {
|
||||||
|
filterRequest(requestTemplate, attributes);
|
||||||
|
}else{
|
||||||
|
String token = UserTokenContext.getToken();
|
||||||
|
log.debug("Feign request token: {}", token);
|
||||||
|
requestTemplate.header(CommonConstant.X_ACCESS_TOKEN, token);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
private void filterRequest(RequestTemplate requestTemplate, ServletRequestAttributes attributes) {
|
||||||
HttpServletRequest request = attributes.getRequest();
|
HttpServletRequest request = attributes.getRequest();
|
||||||
log.debug("Feign request: {}", request.getRequestURI());
|
log.debug("Feign request: {}", request.getRequestURI());
|
||||||
// 将token信息放入header中
|
// 将token信息放入header中
|
||||||
@@ -73,7 +81,7 @@ public class FeignConfig {
|
|||||||
log.info(requestTemplate.path());
|
log.info(requestTemplate.path());
|
||||||
log.info(requestTemplate.method());
|
log.info(requestTemplate.method());
|
||||||
String queryLine = requestTemplate.queryLine();
|
String queryLine = requestTemplate.queryLine();
|
||||||
if(queryLine!=null && queryLine.startsWith("?")){
|
if(queryLine.startsWith("?")){
|
||||||
queryLine = queryLine.substring(1);
|
queryLine = queryLine.substring(1);
|
||||||
}
|
}
|
||||||
log.info(queryLine);
|
log.info(queryLine);
|
||||||
@@ -90,14 +98,7 @@ public class FeignConfig {
|
|||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else{
|
|
||||||
String token = UserTokenContext.getToken();
|
|
||||||
log.debug("Feign request token: {}", token);
|
|
||||||
requestTemplate.header(CommonConstant.X_ACCESS_TOKEN, token);
|
|
||||||
}
|
}
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user