Java Spring嵌入式读取json+;来自JSON内容类型的hal

Java Spring嵌入式读取json+;来自JSON内容类型的hal,java,json,spring,hateoas,spring-hateoas,Java,Json,Spring,Hateoas,Spring Hateoas,我正在阅读一个第三方Rest服务,它返回具有上述结构或类似结构的json内容(内容类型为application/json) 目前,我创建了一个到通用对象的自定义json转换器,该对象具有用于链接、页面的自定义对象和用于嵌入对象的通用类型。因此,我以某种泛泛的方式阅读它。但是,我想通过hateoas对象来实现。我尝试了几种方法,但都有效 在回答其他问题之后,我尝试了许多方法,比如配置RestTamplate "_embedded": { "employees": [ { "

我正在阅读一个第三方Rest服务,它返回具有上述结构或类似结构的json内容(内容类型为application/json)

目前,我创建了一个到通用对象的自定义json转换器,该对象具有用于链接、页面的自定义对象和用于嵌入对象的通用类型。因此,我以某种泛泛的方式阅读它。但是,我想通过hateoas对象来实现。我尝试了几种方法,但都有效

在回答其他问题之后,我尝试了许多方法,比如配置RestTamplate

"_embedded": {
"employees": [
    {
        "id": "1",
        "name": "Some Employee",
        "_links": {
            "self": {
                "href": "http://localhost:8080/employees/1"
            }
        }
    },
    {
        "id": "2",
        "name": "Some Employee",
        "_links": {
            "self": {
                "href": "http://localhost:8080/employees/2"
            }
        }
    },
    {
        "id": "3",
        "name": "Some Employee",
        "_links": {
            "self": {
                "href": "http://localhost:8080/employees/3"
            }
        }
    }
]
},
{
"_links": {
    "self": {
        "href": "http://localhost:8080/employees{?page,size,sort}"
    },
    "search": {
        "href": "http://localhost:8080/employees/search"
    }
},
"page": {
    "size": 20,
    "totalElements": 3,
    "totalPages": 1,
    "number": 0
}
}
无法工作并干扰了我的REST配置

我试过这个

@Bean
public OAuth2RestTemplate getOAuth2Rest() {

 [...]

    OAuth2RestTemplate template = new OAuth2RestTemplate(resourceDetails, clientContext);
    List<HttpMessageConverter<?>> existingConverters = template.getMessageConverters();
    List<HttpMessageConverter<?>> newConverters = new ArrayList<>();
    newConverters.add(getHalMessageConverter());
    newConverters.addAll(existingConverters);
    template.setMessageConverters(newConverters);       

    return template;
}



private HttpMessageConverter getHalMessageConverter() {
    ObjectMapper objectMapper = new ObjectMapper();
    objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
    objectMapper.registerModule(new Jackson2HalModule());
    MappingJackson2HttpMessageConverter halConverter =
            new TypeConstrainedMappingJackson2HttpMessageConverter(ResourceSupport.class);
    halConverter.setSupportedMediaTypes(Arrays.asList(HAL_JSON));
    halConverter.setObjectMapper(objectMapper);
    return halConverter;
}
    ResponseEntity<Resources<MyDto>> entity = restTemplate.exchange(
            myUri,
            HttpMethod.GET, null,
            new ParameterizedTypeReference<Resources<MyDto>>() {},  Collections.emptyMap());
@EnableHypermediaSupport(type = EnableHypermediaSupport.HypermediaType.HAL)