我知道Pageable来自spring-data-域。

有什么优雅的方法可以直接在org.springframework.data.domain.Pageable中使用@RestController吗?

我尝试了以下。

@RequestMapping(method = RequestMethod.GET,
                path = "pageable",
                produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Pageable> readPageable(@NotNull final Pageable pageable) {
    return ResponseEntity.ok(pageable);
}

结果不是我所期望的。
...: ~ $ curl -X GET --header 'Accept: application/json' 'http://localhost:8080/.../pageable?limit=1&offset=1' | python -mjson.tool
...
{
    "offset": 0,
    "pageNumber": 0,
    "pageSize": 20,
    "sort": null
}

最佳答案

它应该返回不是Pageable而是Page。

public Page<YourEntityHere> readPageable(@NotNull final Pageable pageable) {
    return someService.search(pageable);
}

Pageable是请求方,其中包含您真正需要的内容。但是Page包含结果。

参见例如the link

关于spring - 如何在@RestController中使用Pageable?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47087415/

10-11 05:38