Я хочу, чтобы мой ответ включал следующее:
"keyMaps":{
"href":"http://localhost/api/keyMaps{/keyMapId}",
"templated":true
}
Этого достаточно легко достичь:
add(new Link("http://localhost/api/keyMaps{/keyMapId}", "keyMaps"));
Но, конечно, я бы предпочел использовать ControllerLinkBuilder, например:
add(linkTo(methodOn(KeyMapController.class).getKeyMap("{keyMapId}")).withRel("keyMaps"));
Проблема заключается в том, что к тому моменту, когда переменная "{keyMapId}" достигнет конструктора UriTemplate, она была включена в кодированный URL:
http://localhost/api/keyMaps/%7BkeyMapId%7D
Таким образом, конструктор UriTemplate не распознает его как содержащую переменную.
Как я могу убедить ControllerLinkBuilder, что я хочу использовать переменные шаблона?