RestTemplate не получает блок _link из ответа HAL JSON - PullRequest
0 голосов
/ 17 апреля 2020

Я использую 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;
}
...