Отладка Spring Hateoas uriTemplate не должен иметь значение null - PullRequest
0 голосов
/ 09 июля 2020

Я отлаживаю метод, который создает ссылку 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?

Заранее спасибо.

...