feat: 增加接口内部转发

dev
huangfeng 1 year ago
parent 8247fa16f4
commit 73f383321c

@ -1,7 +1,6 @@
package com.xydl.cac.filter; package com.xydl.cac.filter;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.compress.utils.Lists;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.util.AntPathMatcher; import org.springframework.util.AntPathMatcher;
import org.springframework.util.PathMatcher; import org.springframework.util.PathMatcher;
@ -12,7 +11,6 @@ import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Enumeration; import java.util.Enumeration;
import java.util.List; import java.util.List;
@ -22,8 +20,8 @@ import java.util.List;
public class UrlFilter extends OncePerRequestFilter { public class UrlFilter extends OncePerRequestFilter {
PathMatcher pathMatcher = new AntPathMatcher(); PathMatcher pathMatcher = new AntPathMatcher();
private List<String> urlWhiteList = Arrays.asList("/swagger**", "/webjars/**", "/v3/api-docs/**", "/swagger-resources/**", private List<String> urlWhiteList = Arrays.asList("/swagger-ui/**", "/swagger-resources/**", "/v3/api-docs/**",
"/static**"); "/static/**");
@Override @Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException { protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
@ -35,13 +33,21 @@ public class UrlFilter extends OncePerRequestFilter {
} }
} }
StringBuilder str = new StringBuilder(path + " called"); String method = request.getMethod();
StringBuilder str = new StringBuilder(method + " " + path + " called");
Enumeration<String> params = request.getParameterNames(); Enumeration<String> params = request.getParameterNames();
while (params.hasMoreElements()) { while (params.hasMoreElements()) {
String paramName = params.nextElement(); String paramName = params.nextElement();
str.append(", ").append(paramName).append("=").append(request.getParameter(paramName)); str.append(", ").append(paramName).append("=").append(request.getParameter(paramName));
} }
log.info(str.toString()); log.info(str.toString());
if (path.startsWith("/cac-api/")) {
path = path.replace("/cac-api/", "/");
request.getRequestDispatcher(path).forward(request, response);
return;
}
filterChain.doFilter(request, response); filterChain.doFilter(request, response);
} }
} }

Loading…
Cancel
Save