Итак, прежде всего, извиняюсь, если это немного освещает детали, но я целый день рвал на себе волосы и не смог воспроизвести проблему вне этого проекта без удачи и очень надеюсь, что сообщество может помочь хотя бы с указателем, с чего начать процесс отладки.
По сути, я обновляю проект с очень старой (1.28) версии загрузки Spring до текущей версии 2.04, и кажется, что все работает, за исключением того, что Spring-hateoas неправильно отображает ссылки. Iv'e настроил очень простой метод управления
@RestController
@RequestMapping("/hello")
public class HateoasTestController {
public static class Greeting extends ResourceSupport{
private final String name;
public Greeting(String name) {
this.name = name;
add(linkTo(ControllerLinkBuilder.methodOn(HateoasTestController.class).greet(name)).withSelfRel());
}
public String getName() {
return name;
}
}
@RequestMapping(value="/{name}" ,method=RequestMethod.GET)
public Greeting greet(@PathVariable("name")String name){
return new Greeting(name);
}
}
Что отображается как
{"name":"peter","link":{"self":[{"href":"http://localhost:6789/hello"}]}}
В старой версии сервиса он будет отображаться как
{"name":"peter","_links":{"self":[{"href":"http://localhost:6789/hello"}]}}
Похоже, по какой-то причине ответ не сериализуется как HAL.
Я пытался следить за потоком кода модуля Jackson2Hal, и он срабатывает, но довольно сложно понять, где должно произойти волшебство. Итак, я думаю, мой самый основной вопрос, если есть очевидное место для установки точки останова, чтобы проверить, почему результаты не отображаются должным образом? и, конечно, если есть что-то глупое, я пропустил или смогу предоставить более подробную информацию, которая была бы актуальна. В принципе, любая помощь на данный момент приветствуется