diff --git a/java/src/main/java/com/genexus/filters/APIObjectFilter.java b/java/src/main/java/com/genexus/filters/APIObjectFilter.java index 2d83bbe8d..249e14898 100644 --- a/java/src/main/java/com/genexus/filters/APIObjectFilter.java +++ b/java/src/main/java/com/genexus/filters/APIObjectFilter.java @@ -21,6 +21,9 @@ public class APIObjectFilter extends Filter { private ArrayList appPath = new ArrayList(); static final String PRIVATE_DIR="private"; static final String WEB_INFO="WEB-INF"; + static final String REST_SUBPART = "/rest/"; + static final String QS_SEP = "?"; + public static final Logger logger = LogManager.getLogger(APIObjectFilter.class); public void doFilter(IServletRequest request, IServletResponse response, IFilterChain chain) throws Exception { @@ -36,7 +39,11 @@ public void doFilter(IServletRequest request, IServletResponse response, IFilte } } if(isPath) { - String fwdURI = "/rest/" + path; + String fwdURI = REST_SUBPART + path; + String qString = httpRequest.getQueryString(); + if ( qString != null && !qString.isEmpty()) { + fwdURI = fwdURI + QS_SEP + qString; + } logger.info("Forwarding from " + path +" to: " + fwdURI) ; httpRequest.getRequestDispatcher(fwdURI).forward(request,response); }