spring data rest + restTemplate 构建数据读写服务时无法获取数据集合

客户端:

ParameterizedTypeReference<PagedResources<Pass>> responseType =
                new ParameterizedTypeReference<PagedResources<Pass>>() {};
PagedResources<Pass> passes =restTemplate.exchange(uri, HttpMethod.GET, null, responseType).getBody();

服务端:

@RepositoryRestResource(collectionResourceRel = "pass", path = "pass")
public interface PassRepository extends JpaRepository<Pass,String> {
    List<Pass> findByCarPlate(@Param("carPlate")String carPlate);
}

网页输入uri能正常得到数据,但是用这种方式每次都是获取为空,请问有人知道怎么解决吗?

单个对象获取没问题,就是数据集有问题

阅读 3.4k
1 个回答

自己来解答吧,还是RestTemplate配置的问题。
stackoverflow上的解答

PagedResources没有_embedded属性,导致无法获得content.

objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);

这段配置看样子是把字段不匹配就解析失败功能干掉了,类似@JsonIgnoreProperties.

不知道理解对不对。希望有懂的同学讲解一下。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题