diff --git a/spring-web-reactive/src/main/java/org/springframework/http/server/reactive/ServletServerHttpRequest.java b/spring-web-reactive/src/main/java/org/springframework/http/server/reactive/ServletServerHttpRequest.java index ae570046f9a..89a3dbc3b49 100644 --- a/spring-web-reactive/src/main/java/org/springframework/http/server/reactive/ServletServerHttpRequest.java +++ b/spring-web-reactive/src/main/java/org/springframework/http/server/reactive/ServletServerHttpRequest.java @@ -69,11 +69,12 @@ public class ServletServerHttpRequest extends AbstractServerHttpRequest { @Override protected URI initUri() throws URISyntaxException { - return new URI(getServletRequest().getScheme(), null, - getServletRequest().getServerName(), - getServletRequest().getServerPort(), - getServletRequest().getRequestURI(), - getServletRequest().getQueryString(), null); + StringBuffer url = this.request.getRequestURL(); + String query = this.request.getQueryString(); + if (StringUtils.hasText(query)) { + url.append('?').append(query); + } + return new URI(url.toString()); } @Override