Я делаю небольшое приложение для загрузки весны HATEOAS с помощью Kotlin. Я хочу использовать ControllerLinkBuilder
для автоматического создания моих ссылок ответа HAL из класса, который имеет дело с ними, например, так:Использование Spring HATEOAS ControllerLinkBuilder и Kotlin бросает IllegalArgumentException
user.add(linkTo(methodOn(UserController::class.java).findByName(userName)).withSelfRel())
, но это бросает:
java.lang.IllegalArgumentException: Cannot subclass final class UserController
, потому что все классы в Котлине являются окончательными по умолчанию. Я не увлекаюсь (и не хочу привыкать), делая все мои классы open
, чтобы обойти это ограничение.
Я также не хочу, чтобы вручную создать свои ссылки, как они могут измениться (и ControllerLinkBuilder
очень удобно для заселяющих параметров и т.д.
В настоящее время я имею в виду, я просто придусь признать, что мои классы контроллера должны быть открыты. есть еще один способ обойти это?
Просто из curiositiy: Какие другие рамки обеспечивают аналогичную функциональность? – thg