spring-hateoas
spring-hateoas copied to clipboard
Support for interface-driven controllers `linkTo(…)` on path variables
Hi, since Spring 5.1 "Controller parameter annotations get detected on interfaces as well: Allowing for complete mapping contracts in controller interfaces." I am trying to use the linkTo function on a class that implements an interface that has annotations on it for Path variables.
Unfortunately, currently, this does not resolve the actual value of the path variable and instead uses a template. Copying the annotation down to the implementing class is currently a workaround but not pretty or DRY. Is this a bug that is known?
I think #1081 documents this a little however never seems to have been looked at. I am now using spring boot 3.
Thanks
The sample code shown in the linked example don't actually show the interface not being considered, but only path variables not expanded, which, given that the reporter doesn't explain what the input to the link creation is, could be a perfectly valid outcome. Do you have a more detailed example of what you see not working? Given the general arrangement in the other ticket, the request mappings indeed are detected on interfaces.