File tree Expand file tree Collapse file tree 2 files changed +14
-9
lines changed
main/java/org/springframework/web/util
test/java/org/springframework/web/util Expand file tree Collapse file tree 2 files changed +14
-9
lines changed Original file line number Diff line number Diff line change @@ -228,16 +228,14 @@ public DefaultUriBuilder(String uriTemplate) {
228
228
}
229
229
230
230
private UriComponentsBuilder initUriComponentsBuilder (String uriTemplate ) {
231
-
231
+ UriComponentsBuilder result ;
232
232
if (StringUtils .isEmpty (uriTemplate )) {
233
- return baseUri != null ? baseUri .cloneBuilder () : UriComponentsBuilder .newInstance ();
233
+ result = baseUri != null ? baseUri .cloneBuilder () : UriComponentsBuilder .newInstance ();
234
234
}
235
-
236
- UriComponentsBuilder result ;
237
- if (baseUri != null ) {
238
- UriComponentsBuilder uricBuilder = UriComponentsBuilder .fromUriString (uriTemplate );
239
- UriComponents uric = uricBuilder .build ();
240
- result = uric .getHost () == null ? baseUri .cloneBuilder ().uriComponents (uric ) : uricBuilder ;
235
+ else if (baseUri != null ) {
236
+ UriComponentsBuilder builder = UriComponentsBuilder .fromUriString (uriTemplate );
237
+ UriComponents uri = builder .build ();
238
+ result = uri .getHost () == null ? baseUri .cloneBuilder ().uriComponents (uri ) : builder ;
241
239
}
242
240
else {
243
241
result = UriComponentsBuilder .fromUriString (uriTemplate );
Original file line number Diff line number Diff line change @@ -35,7 +35,14 @@ public class DefaultUriBuilderFactoryTests {
35
35
@ Test
36
36
public void defaultSettings () {
37
37
DefaultUriBuilderFactory factory = new DefaultUriBuilderFactory ();
38
- URI uri = factory .uriString ("/foo" ).pathSegment ("{id}" ).build ("a/b" );
38
+ URI uri = factory .uriString ("/foo/{id}" ).build ("a/b" );
39
+ assertEquals ("/foo/a%2Fb" , uri .toString ());
40
+ }
41
+
42
+ @ Test // SPR-17465
43
+ public void defaultSettingsWithBuilder () {
44
+ DefaultUriBuilderFactory factory = new DefaultUriBuilderFactory ();
45
+ URI uri = factory .builder ().path ("/foo/{id}" ).build ("a/b" );
39
46
assertEquals ("/foo/a%2Fb" , uri .toString ());
40
47
}
41
48
You can’t perform that action at this time.
0 commit comments