From 6c6e1831fb8e12a410f6a1b30ec3f1ec2c99d7f6 Mon Sep 17 00:00:00 2001 From: Andy Webb Date: Fri, 10 May 2024 16:04:05 +0100 Subject: [PATCH] Use toQueryString() for PUT/POST body --- .../org/apache/solr/client/solrj/impl/HttpJdkSolrClient.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpJdkSolrClient.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpJdkSolrClient.java index e3c40118d62..8fe0697878b 100644 --- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpJdkSolrClient.java +++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpJdkSolrClient.java @@ -302,7 +302,9 @@ private PreparedRequest preparePutOrPost( ModifiableSolrParams requestParams = queryParams; queryParams = calculateQueryParams(urlParamNames, requestParams); queryParams.add(calculateQueryParams(solrRequest.getQueryParams(), requestParams)); - bodyPublisher = HttpRequest.BodyPublishers.ofString(requestParams.toString()); + // note the toQueryString() method adds a leading question mark which needs to be removed here + bodyPublisher = + HttpRequest.BodyPublishers.ofString(requestParams.toQueryString().substring(1)); } else { bodyPublisher = HttpRequest.BodyPublishers.noBody(); }