[BAEL-6442_Build-URL] create URL objects using apache httpclient & spring-web (#13892)
This commit is contained in:
parent
c11605cc61
commit
178782aebf
@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
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">
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>core-java-networking</artifactId>
|
<artifactId>core-java-networking</artifactId>
|
||||||
<name>core-java-networking</name>
|
<name>core-java-networking</name>
|
||||||
@ -19,6 +19,11 @@
|
|||||||
<artifactId>spring-web</artifactId>
|
<artifactId>spring-web</artifactId>
|
||||||
<version>${springframework.spring-web.version}</version>
|
<version>${springframework.spring-web.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.httpcomponents</groupId>
|
||||||
|
<artifactId>httpclient</artifactId>
|
||||||
|
<version>${apache.httpclient.version}</version>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
@ -27,6 +32,7 @@
|
|||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<springframework.spring-web.version>4.3.4.RELEASE</springframework.spring-web.version>
|
<springframework.spring-web.version>4.3.4.RELEASE</springframework.spring-web.version>
|
||||||
|
<apache.httpclient.version>4.5.14</apache.httpclient.version>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
</project>
|
</project>
|
@ -1,11 +1,19 @@
|
|||||||
package com.baeldung.networking.url;
|
package com.baeldung.networking.url;
|
||||||
|
|
||||||
|
import static java.util.stream.Collectors.toList;
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
|
|
||||||
import java.net.MalformedURLException;
|
import java.net.MalformedURLException;
|
||||||
|
import java.net.URISyntaxException;
|
||||||
import java.net.URL;
|
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.junit.Test;
|
||||||
|
import org.springframework.web.util.UriComponentsBuilder;
|
||||||
|
|
||||||
|
import com.google.common.collect.ImmutableMap;
|
||||||
|
|
||||||
public class UrlUnitTest {
|
public class UrlUnitTest {
|
||||||
|
|
||||||
@ -101,4 +109,44 @@ public class UrlUnitTest {
|
|||||||
assertEquals("http://baeldung.com:9000/guidelines.txt", url.toString());
|
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<String, String> 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());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user