小编use*_*584的帖子

为什么RestTemplate没有将响应表示绑定到PagedResources?

我使用spring-data-rest将实体公开为(分页)休息资源.一切正常,但当我通过请求数据时RestTemplate,我得到一个无用的HATEOAS JSON(我没有要求).JSON似乎是一个PagedResources.我可以忍受,但JSON没有正确转换为对象.content里面没有.

库:

@RepositoryRestResource(collectionResourceRel = "people", path = "people")
public interface PersonRepository extends PagingAndSortingRepository<Person, Long>
{
    List<Person> findByLastName(@Param("name") String name);
}
Run Code Online (Sandbox Code Playgroud)

客户:

public List<Person> getPersons()
{
    RestTemplate rt = new RestTemplate();
    System.out.println(rt.getForObject(URL, PagedResources.class).getContent().size());
    System.out.println(rt.getForObject(URL, PagedResources.class).getLinks().size());
    System.out.println(rt.getForObject(URL, PagedResources.class).getMetadata().getTotalElements());
    return new ArrayList<Person>(rt.getForObject(URL, PagedResources.class).getContent()); // <-- empty
}
Run Code Online (Sandbox Code Playgroud)

System.out的:

0 // getContent().size()
4 // getLinks().size()
2 // getTotalElements()
Run Code Online (Sandbox Code Playgroud)

卷曲:

C:\...>curl http://localhost:8080/spring-jsf-rest/rest/people
{
  "_links" : {
    "self" : {
      "href" : "http://localhost:8080/spring-jsf-rest/rest/people{?page,size,sort}",
      "templated" : true
    },
    "search" : {
      "href" …
Run Code Online (Sandbox Code Playgroud)

rest spring json spring-data spring-data-rest

36
推荐指数
1
解决办法
1万
查看次数

标签 统计

json ×1

rest ×1

spring ×1

spring-data ×1

spring-data-rest ×1