diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/resttemplate/ApiClient.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/resttemplate/ApiClient.mustache index b5de6ce3a198..6b9ac75b9cdd 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/resttemplate/ApiClient.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/resttemplate/ApiClient.mustache @@ -674,16 +674,18 @@ public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} { Map uriParams = new HashMap<>(); uriParams.putAll(pathParams); - String finalUri = path; + String queryUri = null; if (queryParams != null && !queryParams.isEmpty()) { //Include queryParams in uriParams taking into account the paramName - String queryUri = generateQueryUri(queryParams, uriParams); - //Append to finalUri the templatized query string like "?param1={param1Value}&....... - finalUri += "?" + queryUri; - } - String expandedPath = this.expandPath(finalUri, uriParams); - final UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(basePath).path(expandedPath); + String query = generateQueryUri(queryParams, uriParams); + queryUri = expandPath("?" + query, uriParams).substring(1); //exclude the '?' + //queryUri is the templatized query string like "?param1={param1Value}&....... + } + String expandedPath = this.expandPath(path, uriParams); + final UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(basePath) + .path(expandedPath) + .query(queryUri); URI uri; try { diff --git a/samples/client/petstore/java/resttemplate-swagger1/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/petstore/java/resttemplate-swagger1/src/main/java/org/openapitools/client/ApiClient.java index dc250a75c79f..561e27b4db02 100644 --- a/samples/client/petstore/java/resttemplate-swagger1/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/client/petstore/java/resttemplate-swagger1/src/main/java/org/openapitools/client/ApiClient.java @@ -597,16 +597,18 @@ public ResponseEntity invokeAPI(String path, HttpMethod method, Map uriParams = new HashMap<>(); uriParams.putAll(pathParams); - String finalUri = path; + String queryUri = null; if (queryParams != null && !queryParams.isEmpty()) { //Include queryParams in uriParams taking into account the paramName - String queryUri = generateQueryUri(queryParams, uriParams); - //Append to finalUri the templatized query string like "?param1={param1Value}&....... - finalUri += "?" + queryUri; - } - String expandedPath = this.expandPath(finalUri, uriParams); - final UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(basePath).path(expandedPath); + String query = generateQueryUri(queryParams, uriParams); + queryUri = expandPath("?" + query, uriParams).substring(1); //exclude the '?' + //queryUri is the templatized query string like "?param1={param1Value}&....... + } + String expandedPath = this.expandPath(path, uriParams); + final UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(basePath) + .path(expandedPath) + .query(queryUri); URI uri; try { diff --git a/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/ApiClient.java index 8340b6cfa8ef..d96ed08a5cc8 100644 --- a/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/ApiClient.java @@ -634,16 +634,18 @@ public ResponseEntity invokeAPI(String path, HttpMethod method, Map uriParams = new HashMap<>(); uriParams.putAll(pathParams); - String finalUri = path; + String queryUri = null; if (queryParams != null && !queryParams.isEmpty()) { //Include queryParams in uriParams taking into account the paramName - String queryUri = generateQueryUri(queryParams, uriParams); - //Append to finalUri the templatized query string like "?param1={param1Value}&....... - finalUri += "?" + queryUri; - } - String expandedPath = this.expandPath(finalUri, uriParams); - final UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(basePath).path(expandedPath); + String query = generateQueryUri(queryParams, uriParams); + queryUri = expandPath("?" + query, uriParams).substring(1); //exclude the '?' + //queryUri is the templatized query string like "?param1={param1Value}&....... + } + String expandedPath = this.expandPath(path, uriParams); + final UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(basePath) + .path(expandedPath) + .query(queryUri); URI uri; try { diff --git a/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/ApiClient.java index b1d9b1cf1d26..e75299e540be 100644 --- a/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/ApiClient.java @@ -629,16 +629,18 @@ public ResponseEntity invokeAPI(String path, HttpMethod method, Map uriParams = new HashMap<>(); uriParams.putAll(pathParams); - String finalUri = path; + String queryUri = null; if (queryParams != null && !queryParams.isEmpty()) { //Include queryParams in uriParams taking into account the paramName - String queryUri = generateQueryUri(queryParams, uriParams); - //Append to finalUri the templatized query string like "?param1={param1Value}&....... - finalUri += "?" + queryUri; - } - String expandedPath = this.expandPath(finalUri, uriParams); - final UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(basePath).path(expandedPath); + String query = generateQueryUri(queryParams, uriParams); + queryUri = expandPath("?" + query, uriParams).substring(1); //exclude the '?' + //queryUri is the templatized query string like "?param1={param1Value}&....... + } + String expandedPath = this.expandPath(path, uriParams); + final UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(basePath) + .path(expandedPath) + .query(queryUri); URI uri; try {