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

标签 java spring spring-data-jpa spring-data-rest

@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/

相关文章:

java - 在 TextView -Android 中逐个字母显示字符串

java - 是否可以通过 Twilio 可编程 API 将日历文件 (.ics) 作为彩信的一部分发送?

java - Spring数据JPA和可以为空的参数

java - Spring 数据休息 : Limit sending values on Update method

spring-boot - Spring Boot v1.2 由于 RepositoryInformation 导致 AbstractMethodError

java - 使用 Intellij 在远程服务器上部署/调试 Java 代码

java - 1024x600 分辨率的 Drawable 和布局文件夹

java - 如何在 Spring 中向请求上下文添加错误而不是抛出异常

java - 当主数据库发生故障时切换到 Hibernate 中的其他数据库

java - 在 Spring Boot 应用程序中超时后如何以与 weblogic 相同的方式回滚事务