Spring-hateoas протоколирование предупреждений или ссылки не отображаются - PullRequest
0 голосов
/ 28 января 2020

Начиная с обновления до spring-hateoas 1.0.3, каждый раз, когда контроллер возвращает ресурс, содержащий ссылки, регистрируется следующее предупреждение:

o.s.h.c.j.MappingJackson2HttpMessageConverter - Failed to evaluate Jackson serialization for type [class org.springframework.hateoas.EntityModel]: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.hateoas.mediatype.hal.Jackson2HalModule$HalLinkListSerializer': Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.hateoas.mediatype.hal.Jackson2HalModule$HalLinkListSerializer]: No default constructor found; nested exception is java.lang.NoSuchMethodException: org.springframework.hateoas.mediatype.hal.Jackson2HalModule$HalLinkListSerializer.<init>()

Контроллер возвращает EntityModel, включая некоторые Links:

@GetMapping("/some-endpoint")
fun someEndpoint() : EntityModel<String> {
  return EntityModel("some-string", Link("https://some-href"))
}

Сопоставители объектов конвертеров сообщений настроены таким образом, что они могут отображать ссылки:

 objectMapper.registerModule(Jackson2HalModule())

Удаление JacksonModule из сопоставителя объектов останавливает предупреждения.

К сожалению, без регистрации JacksonModule ссылки не отображаются должным образом. Свойство templated игнорируется (как указано в Links.java).

У кого-нибудь есть идеи, как избежать предупреждений и включить рендеринг ссылок?

...