找到了一个“解决方案”。它需要从Spring的类中进行大量复制和粘贴,但是至少它能起作用!
基本上我必须复制
org.springframework.hateoas.mvc.AnnotatedParametersParameterAccessor和更改两行:
class AnnotatedParametersParameterAccessor { ... static class BoundMethodParameter { // OLD: (with this one you can't call addConverter()) // private static final ConversionService CONVERSION_SERVICE = new DefaultFormattingConversionService(); // NEW: private static final FormattingConversionService CONVERSION_SERVICE = new DefaultFormattingConversionService(); ... public BoundMethodParameter(MethodParameter parameter, Object value, AnnotationAttribute attribute) { ... // ADD: CONVERSION_SERVICE.addConverter(new MyNewConverter()); } ...}此类使用了
ControllerlinkBuilderFactory。所以我也必须复制并粘贴。
并已使用
ControllerlinkBuilder。也复制并粘贴。
我
Converter就是这样
myDomainObject.getId().toString():
public class MyNewConverter implements Converter<Company, String> { @Override public String convert(Company source) { return source.getId().toString(); } }现在,您可以
ControllerlinkBuilder在控制器内使用复制粘贴的文件,它可以按预期工作!



