栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Spring Data REST-消费实体列表,Java HATEOAS客户端

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring Data REST-消费实体列表,Java HATEOAS客户端

我通过做一些事情解决了这个问题。

  1. 我不得不从0.19.0更新到spring-hateoas:0.20.0.RELEASE。spring-hateoas:0.19.0不支持此处指定的jackson 2.7+ 。

  2. 我更新了我的客户电话,如下所示。

ObjectMapper mapper = builder.build()MappingJackson2HttpMessageConverter messageConverter = new MappingJackson2HttpMessageConverter();messageConverter.setSupportedMediaTypes(MediaType.parseMediaTypes("application/hal+json"))messageConverter.setObjectMapper(mapper)ResponseEntity<PagedResources<MyEntity>> responseEntity =    new RestTemplate(Arrays.asList(messageConverter)) .exchange( uri, HttpMethod.GET, HttpEntity.EMPTY, new ParameterizedTypeReference<PagedResources<MyEntity>>() {}, port    )

现在,PagedResources如下所示:

<200 OK,PagedResource { content: [{<List of MyEntities>}], metadata: metadata { number: 0, total pages: 1, total elements: 10, size: 20 }, links: [<List of hateoas links for MyEntities>] },{Server=[Apache-Coyote/1.1], Content-Type=[application/hal+json;charset=UTF-8], Transfer-Encoding=[chunked], Date=[Thu, 21 Jul 2016 14:57:18 GMT]}>

@zeroflagL的评论使我更加仔细地查看了PagedResources实现,最终导致了“啊哈!”
时刻与这个博客。

相关的一点是,默认值

RestTemplate
未将accept标头设置为
application/hal+json
。相反,默认值为
application/x-spring-data-compact+json;charset=UTF-8
不包含内容且仅包含链接。这就是为什么我要为
Resources
类型输入空内容的原因。如上显式设置MediaType可解决此问题。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/421840.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号