diff --git a/core-java/pom.xml b/core-java/pom.xml
index dfc1e20cd9..bb3958f36c 100644
--- a/core-java/pom.xml
+++ b/core-java/pom.xml
@@ -211,6 +211,11 @@
jmh-generator-annprocess
1.19
+
+ org.springframework
+ spring-web
+ 4.3.4.RELEASE
+
@@ -464,7 +469,7 @@
1.13
0.6.5
0.9.0
-
+
1.3
4.12
diff --git a/core-java/src/test/java/com/baeldung/encoderdecoder/EncoderDecoderUnitTest.java b/core-java/src/test/java/com/baeldung/encoderdecoder/EncoderDecoderUnitTest.java
index da615eef6f..c27af983d3 100644
--- a/core-java/src/test/java/com/baeldung/encoderdecoder/EncoderDecoderUnitTest.java
+++ b/core-java/src/test/java/com/baeldung/encoderdecoder/EncoderDecoderUnitTest.java
@@ -1,20 +1,23 @@
package com.baeldung.encoderdecoder;
+import static java.util.stream.Collectors.joining;
+import static org.hamcrest.CoreMatchers.is;
+
+import java.io.UnsupportedEncodingException;
+import java.net.URL;
+import java.net.URLDecoder;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
+
import org.hamcrest.CoreMatchers;
import org.junit.Assert;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-
-import java.io.UnsupportedEncodingException;
-import java.net.*;
-import java.nio.charset.StandardCharsets;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Map;
-
-import static java.util.stream.Collectors.joining;
-import static org.hamcrest.CoreMatchers.*;
+import org.springframework.web.util.UriUtils;
public class EncoderDecoderUnitTest {
@@ -76,19 +79,20 @@ public class EncoderDecoderUnitTest {
private String encodePath(String path) {
try {
- path = new URI(null, null, path, null).getPath();
- } catch (URISyntaxException e) {
+ path = UriUtils.encodePath(path, "UTF-8");
+ } catch (UnsupportedEncodingException e) {
LOGGER.error("Error encoding parameter {}", e.getMessage(), e);
}
return path;
}
@Test
- public void givenPath_thenEncodeDecodePath() throws URISyntaxException {
- URI uri = new URI(null, null, "/Path 1/Path+2", null);
-
- Assert.assertEquals("/Path 1/Path+2", uri.getPath());
- Assert.assertEquals("/Path%201/Path+2", uri.getRawPath());
+ public void givenPathSegment_thenEncodeDecode() throws UnsupportedEncodingException {
+ String pathSegment = "/Path 1/Path+2";
+ String encodedPathSegment = encodePath(pathSegment);
+ String decodedPathSegment = UriUtils.decode(encodedPathSegment, "UTF-8");
+ Assert.assertEquals("/Path%201/Path+2", encodedPathSegment);
+ Assert.assertEquals("/Path 1/Path+2", decodedPathSegment);
}
@Test