Skip to content

Conversation

@jhan0121
Copy link
Contributor

This PR implements EmbeddedValueResolverAware in HttpServiceProxyRegistryFactoryBean to enable resolution of property placeholders in @HttpExchange URL attributes when using @ImportHttpServices.

Problem

Property placeholders like ${provider.auth.url} in @HttpExchange(url = "...") were not being resolved, causing IllegalArgumentException at runtime:

@HttpExchange(url = "${provider.auth.url}")
public interface AuthClient { ... }

Solution

  • Implement EmbeddedValueResolverAware in HttpServiceProxyRegistryFactoryBean
  • Pass StringValueResolver to HttpServiceProxyFactory.Builder
  • Add tests for placeholder resolution

Closes gh-36017

@spring-projects-issues spring-projects-issues added the status: waiting-for-triage An issue we've not yet triaged or decided on label Jan 10, 2026
@jhan0121 jhan0121 force-pushed the gh-36017-embedded-value-resolver-support branch 2 times, most recently from 2253e77 to 260074e Compare January 10, 2026 10:37
Implement EmbeddedValueResolverAware to resolve ${...} placeholders
in @HttpExchange URL attributes.

Closes spring-projectsgh-36017
Signed-off-by: Juhwan Lee <jhan0121@gmail.com>
@jhan0121 jhan0121 force-pushed the gh-36017-embedded-value-resolver-support branch from 260074e to cd8a3f0 Compare January 11, 2026 04:12
@rstoyanchev rstoyanchev self-assigned this Jan 12, 2026
@rstoyanchev rstoyanchev added in: web Issues in web modules (web, webmvc, webflux, websocket) type: enhancement A general enhancement and removed status: waiting-for-triage An issue we've not yet triaged or decided on labels Jan 12, 2026
@rstoyanchev rstoyanchev added this to the 7.0.3 milestone Jan 12, 2026
rstoyanchev pushed a commit that referenced this pull request Jan 12, 2026
Implement EmbeddedValueResolverAware to resolve ${...} placeholders
in @HttpExchange URL attributes.

See gh-36126
Signed-off-by: Juhwan Lee <jhan0121@gmail.com>
@rstoyanchev
Copy link
Contributor

This is now merged, thanks for the pull request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

in: web Issues in web modules (web, webmvc, webflux, websocket) type: enhancement A general enhancement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Declarative Restclient Interfaces not compatible with the Property Placeholder in Spring Boot 4.0

3 participants