Я использую Spring Boot 2.1.7 и Spring HATEOAS 0.25.2 и хотел бы знать, почему следующий код вызова API не получает '_link' из ответа HAL JSON. Список «ссылки» пуст, он должен иметь 3 элемента.
ResponseEntity<Resource<Order>> response = restTemplate.exchange(apiUrl + "/v1/orders", HttpMethod.POST,
order, new ParameterizedTypeReference<Resource<Order>>() {});
Resource<Order> orderResource = response.getBody();
List<Link> links = orderResource.getLinks()
Вот код RestTemplate:
public RestTemplate restTemplate() {
ObjectMapper mapper = new ObjectMapper();
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
mapper.registerModules(new Jackson2HalModule(), new JavaTimeModule());
mapper.findAndRegisterModules().disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
converter.setSupportedMediaTypes(Arrays.asList(MediaTypes.HAL_JSON, MediaType.APPLICATION_JSON));
converter.setObjectMapper(mapper);
List<HttpMessageConverter<?>> converterList = new ArrayList<>();
converterList.add(converter);
RestTemplate restTemplate = new RestTemplate(new BufferingClientHttpRequestFactory(new HttpComponentsClientHttpRequestFactory()));
List<ClientHttpRequestInterceptor> interceptors = new ArrayList<>();
interceptors.add(new LoggingRequestInterceptor());
restTemplate.setInterceptors(interceptors);
restTemplate.setMessageConverters(converterList);
return restTemplate;
}