gpt4 book ai didi

java - spring data JPA 中 api Page 的空数据

转载 作者:行者123 更新时间:2023-12-02 11:00:42 26 4
gpt4 key购买 nike

@RestController
@Transactional
public class ApiController {

@Autowired
CategoryService categoryService;

@SuppressWarnings("deprecation")
@RequestMapping(value="/api/category/page", method=RequestMethod.GET)
public Page<Category> getCategoryList() {
return categoryService.findAll(new PageRequest(0, 10));
}

}

我想检索在 angularjs 中使用的页面,它不返回任何内容:{}。当我 getContent () 时,数据仍然可以根据请求获取:

 [{"cid": 1, "cname": "Tien Hiep", "cmetaTitle": "tien-hiep", 
"createDate": "May 6, 2018 1:04:58 PM "," createBy ":" Admin ","
modifiedDate ":" May 28, 2018 11:09:57 AM "," modifiedBy ":" Admin
"," cstatus " ..]

如果我想返回页面类型,例如:

    {
"content":[
{"cid": 1, "cname": "Tien Hiep", "cmetaTitle": "tien-hiep", "createDate": "May 6, 018 1:04:58 PM "," createBy ":" Admin "," modifiedDate ":" May 28, 2018 11:09:57 AM "," modifiedBy ":" Admin "," cstatus "},
...
],
"last":false,
"totalElements":10,
"totalPages":4,
"size":10,
"number":0,
"sort":null,
"first":true,
}

谁能帮我解决这个问题吗?

最佳答案

如果添加具有页面限制和偏移量的 PageRequest,JPA 将以 Page 而不是 List 的形式返回响应。因此,在将页面发送到应用程序之前,您必须使用 .getContent() 将页面转换为列表。这样该应用程序就可以毫无问题地运行。

PageRequest pageable= createPageRequest(page,size,sortBy,sortField); /** method to return PageRequest */
Page<TestData> pageList = testDataRepository.findAll(pageable);
List<TestData> testDataList = pageList.getContent();

将返回类型更改为 List 并添加@Produces("application/json"),以便 API 将以 json 形式返回数据。

如果使用 maven 添加 jax-rs 或 jersey 依赖项

关于java - spring data JPA 中 api Page<E> 的空数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51354129/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com