diff --git a/core-java-modules/core-java-networking/pom.xml b/core-java-modules/core-java-networking/pom.xml
index 19c620198d..59aadbd1ed 100644
--- a/core-java-modules/core-java-networking/pom.xml
+++ b/core-java-modules/core-java-networking/pom.xml
@@ -1,7 +1,7 @@
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
core-java-networking
core-java-networking
@@ -19,6 +19,11 @@
spring-web
${springframework.spring-web.version}
+
+ org.apache.httpcomponents
+ httpclient
+ ${apache.httpclient.version}
+
@@ -27,6 +32,7 @@
4.3.4.RELEASE
+ 4.5.14
\ No newline at end of file
diff --git a/core-java-modules/core-java-networking/src/test/java/com/baeldung/networking/url/UrlUnitTest.java b/core-java-modules/core-java-networking/src/test/java/com/baeldung/networking/url/UrlUnitTest.java
index 112f2cf53f..87d9d7a620 100644
--- a/core-java-modules/core-java-networking/src/test/java/com/baeldung/networking/url/UrlUnitTest.java
+++ b/core-java-modules/core-java-networking/src/test/java/com/baeldung/networking/url/UrlUnitTest.java
@@ -1,11 +1,19 @@
package com.baeldung.networking.url;
+import static java.util.stream.Collectors.toList;
import static org.junit.Assert.assertEquals;
import java.net.MalformedURLException;
+import java.net.URISyntaxException;
import java.net.URL;
+import java.util.Map;
+import org.apache.http.client.utils.URIBuilder;
+import org.apache.http.message.BasicNameValuePair;
import org.junit.Test;
+import org.springframework.web.util.UriComponentsBuilder;
+
+import com.google.common.collect.ImmutableMap;
public class UrlUnitTest {
@@ -101,4 +109,44 @@ public class UrlUnitTest {
assertEquals("http://baeldung.com:9000/guidelines.txt", url.toString());
}
-}
+ @Test
+ public void givenUrlParameters_whenBuildUrlWithURIBuilder_thenSuccess() throws URISyntaxException, MalformedURLException {
+ URIBuilder uriBuilder = new URIBuilder("http://baeldung.com/articles");
+ uriBuilder.setPort(9090);
+ uriBuilder.addParameter("topic", "java");
+ uriBuilder.addParameter("version", "8");
+ URL url = uriBuilder.build().toURL();
+ assertEquals("http://baeldung.com:9090/articles?topic=java&version=8", url.toString());
+ }
+
+ @Test
+ public void givenUrlParametersInMap_whenBuildUrlWithURIBuilder_thenSuccess() throws URISyntaxException, MalformedURLException {
+ Map paramMap = ImmutableMap.of("topic", "java", "version", "8");
+ URIBuilder uriBuilder = new URIBuilder("http://baeldung.com/articles");
+ uriBuilder.setPort(9090);
+ uriBuilder.addParameters(paramMap.entrySet()
+ .stream()
+ .map(entry -> new BasicNameValuePair(entry.getKey(), entry.getValue()))
+ .collect(toList()));
+
+ URL url = uriBuilder.build().toURL();
+ assertEquals("http://baeldung.com:9090/articles?topic=java&version=8", url.toString());
+ }
+
+ @Test
+ public void givenUrlParameters_whenBuildUrlWithSpringUriComponentsBuilder_thenSuccess() throws MalformedURLException {
+ URL url = UriComponentsBuilder.newInstance()
+ .scheme("http")
+ .host("baeldung.com")
+ .port(9090)
+ .path("articles")
+ .queryParam("topic", "java")
+ .queryParam("version", "8")
+ .build()
+ .toUri()
+ .toURL();
+
+ assertEquals("http://baeldung.com:9090/articles?topic=java&version=8", url.toString());
+ }
+
+}
\ No newline at end of file