From 73984c6a1ad1f40293f865369cebc78dea9dbd94 Mon Sep 17 00:00:00 2001 From: Hyunwoo Gu Date: Mon, 1 Dec 2025 23:37:13 +0900 Subject: [PATCH] Handle empty and slash-prefixed URIs in apply() method - Updated RootUriTemplateHandler.apply() to: - Prefix rootUri if uriTemplate starts with '/' - Return rootUri if uriTemplate is blank - This ensures correct behavior for empty and relative paths Signed-off-by: Hyunwoo Gu --- .../boot/restclient/RootUriTemplateHandler.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/RootUriTemplateHandler.java b/module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/RootUriTemplateHandler.java index 85f4471bff5..5839405e4b1 100644 --- a/module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/RootUriTemplateHandler.java +++ b/module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/RootUriTemplateHandler.java @@ -30,6 +30,7 @@ import org.springframework.web.util.UriTemplateHandler; * * @author Phillip Webb * @author Scott Frederick + * @author Hyunwoo Gu * @since 4.0.0 */ public class RootUriTemplateHandler implements UriTemplateHandler { @@ -64,7 +65,9 @@ public class RootUriTemplateHandler implements UriTemplateHandler { String apply(String uriTemplate) { String rootUri = getRootUri(); if (rootUri != null && StringUtils.startsWithIgnoreCase(uriTemplate, "/")) { - return getRootUri() + uriTemplate; + return rootUri + uriTemplate; + } else if (rootUri != null && uriTemplate.isBlank()) { + return rootUri; } return uriTemplate; }