Switch to TEMPLATE_AND_VALUES as the default mode

DefaultUriBuilderFactory now uses EncodingMode.TEMPLATE_AND_VALUES by
default. However the RestTemplate explicitly sets it to the previous
setting EncodingMode.URI_COMPONENTS, so this affects mainly the
WebClient and any direct use of DefaultUriBuilderFactory to configure
either the RestTemplate or the WebClient.

Issue: SPR-17039
This commit is contained in:
Rossen Stoyanchev
2018-07-16 16:44:23 -04:00
parent 2a0eac47f9
commit a41a1edd93
3 changed files with 29 additions and 9 deletions

View File

@@ -160,6 +160,7 @@ public class DefaultUriBuilderFactoryTests {
@Test
public void parsePathIsTurnedOff() {
DefaultUriBuilderFactory factory = new DefaultUriBuilderFactory("/foo/{bar}");
factory.setEncodingMode(EncodingMode.URI_COMPONENT);
factory.setParsePath(false);
URI uri = factory.uriString("/baz/{id}").build("a/b", "c/d");
assertEquals("/foo/a/b/baz/c/d", uri.toString());