Я отлаживаю метод, который создает ссылку hateoas. Метод выглядит следующим образом:
public Link getPlansLink(RequestParam requestParam, String linkName){
ResponseEntity<Plans> methodLinkPlans = ControllerLinkBuilder.methodOn(Plans.class)
.getPlans(requestParam.getID());
Link plansLink = ControllerLinkBuilder.linkTo(methodLinkPlans).withRel(linkName).withType(GET);
return plansLink;
}
Это отлично работает, когда служба работает нормально, но когда я пытаюсь отладить метод, происходит что-то странное ...
Если я попытаюсь добавить точка останова в строках, где установлены methodLinkPlans или planLink, и перешагивает, ссылка planLink выдает следующую ошибку:
java.lang.IllegalArgumentException: 'uriTemplate' must not be null
at org.springframework.util.Assert.hasText(Assert.java:284) ~[spring-core-5.1.7.RELEASE.jar:5.1.7.RELEASE]
at org.springframework.web.util.UriTemplate.<init>(UriTemplate.java:64) ~[spring-web-5.1.7.RELEASE.jar:5.1.7.RELEASE]
at org.springframework.hateoas.mvc.ControllerLinkBuilderFactory.linkTo(ControllerLinkBuilderFactory.java:141) ~[spring-hateoas-0.24.0.RELEASE.jar:na]
at org.springframework.hateoas.mvc.ControllerLinkBuilder.linkTo(ControllerLinkBuilder.java:194) ~[spring-hateoas-0.24.0.RELEASE.jar:na]
at com.example.svc.hateoas.HateoesLinks.getPlansLink(HateoesLinks.java:422) ~[classes/:na]
...
Но когда я добавляю точку останова в «return planLink;» линии, я могу перешагнуть, и все в порядке.
Что вызывает эту проблему? Имеется ли ссылка на uriTemplate в ControllerLinkBuilder?
Заранее спасибо.