[英]Empty data with api Page<E> in spring data JPA
@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中使用的Page,该页面什么都不返回: {}
。 当我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()将Page转换为List,然后再将其发送到application。 这样该应用程序将可以正常工作。
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依赖项
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.