@HttpExchange("\${api.base-path:}") does not work and throws: Illegal character in scheme name at index 0: ${api.base-path:}/v1/org/f2c35f32-d086-495f-94da-cda95417a690/devices/58609832-df62-4e73-b611-ff27617c22ac, when invoked.
The problem is that Declarative Restclient Interfaces are not compatible with the Property Placeholder in Spring Boot 4.0. There is no plan to fix this.
There is a workaround for this issue where the actual value can be made to resolve via something akin to:
And this then lets the property placeholder resolve.
But I think the utility of the @HttpExchange with the base path on the class level (@HttpExchange("\${api.base-path:}")) is dubious anyway. I would like to go ahead and change it to only @HttpExchange(BASE_PATH) and simply let the developer choose the base path programatically by avoiding the annotation entirely by setting requestMappingMode to none. With the advantage of leaving the const val BASE_PATH: String = in place and thus making it easy to reference it in the HttpServiceProxyFactory.builder() if one so wishes.
Bug Report Checklist
Description
openapi-generator version
OpenAPI declaration file content or url
Generation Details
Steps to reproduce
Related issues/PRs
Suggest a fix
@HttpExchange("\${api.base-path:}")does not work and throws:Illegal character in scheme name at index 0: ${api.base-path:}/v1/org/f2c35f32-d086-495f-94da-cda95417a690/devices/58609832-df62-4e73-b611-ff27617c22ac, when invoked.The problem is that Declarative Restclient Interfaces are not compatible with the Property Placeholder in Spring Boot 4.0. There is no plan to fix this.
There is a workaround for this issue where the actual value can be made to resolve via something akin to:
And this then lets the property placeholder resolve.
But I think the utility of the @HttpExchange with the base path on the class level (
@HttpExchange("\${api.base-path:}")) is dubious anyway. I would like to go ahead and change it to only@HttpExchange(BASE_PATH)and simply let the developer choose the base path programatically by avoiding the annotation entirely by settingrequestMappingModetonone. With the advantage of leaving theconst val BASE_PATH: String =in place and thus making it easy to reference it in theHttpServiceProxyFactory.builder()if one so wishes.Bug Report Checklist
Description
openapi-generator version
OpenAPI declaration file content or url
Generation Details
Steps to reproduce
Related issues/PRs
Suggest a fix