Page<EventTriggerVersion> findByProjectIdAndEventTriggerId(
@Param("projectId") UUID projectId, @Param("eventTriggerId") UUID eventTriggerId, Pageable pageable);
那么您就不能为它创建一个只进行排序但不进行分页的可分页,即只返回一个包含所有结果的页面。
但是,您也不能只给它一个未分页的可分页参数和一个排序参数,如果这样做,它会抛出这个异常:java.lang.IllegalStateException:方法必须不具有可分页的*AND*Sort参数。改用可分页的排序功能!
那么,我应该如何做到这一点,而不重复我的所有存储库方法(其中大多数具有自定义查询),以获得一个具有可分页和排序的版本呢?
我们的用户只是希望在请求中传递size=0
,然后获取所有数据(不限于某个任意的最大值,而是一个真正的未分页请求)。这已经够烦人的了,因为这意味着我需要从控制器中移除可分页的请求param,并从page、size和Sort手动构造它,但现在在没有严重代码重复的情况下甚至看起来都不可能。
现在,我实现了自己的可分页类,如下所示:
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
public class SortedUnpaged implements Pageable {
private final Sort sort;
private SortedUnpaged(Sort sort) {
this.sort = sort;
}
public static SortedUnpaged getInstance(Sort sort) {
return new SortedUnpaged(sort);
}
public boolean isPaged() {
return false;
}
public Pageable previousOrFirst() {
return this;
}
public Pageable next() {
return this;
}
public boolean hasPrevious() {
return false;
}
public Sort getSort() {
return sort;
}
public int getPageSize() {
throw new UnsupportedOperationException();
}
public int getPageNumber() {
throw new UnsupportedOperationException();
}
public long getOffset() {
throw new UnsupportedOperationException();
}
public Pageable first() {
return this;
}
}
并在我的控制器中包含以下内容:
@GetMapping("/{projectId}" + SUBJECTS_PATH)
public ResponseEntity<SubjectWrapperDTO> getSubjects(
@RequestParam(name = "size", required = false, defaultValue = "20") Integer size,
@RequestParam(name = "page", required = false, defaultValue = "0") Integer page,
@SortDefault(sort = "name") Sort sort) {
Pageable pageable;
if (size > 0) {
pageable = PageRequest.of(page, size, sort);
}
else {
pageable = SortedUnpaged.getInstance(sort);
}
...
}
但是对于这样一个基本的需求来说,这似乎有点太多了,我不想实现我自己的Spring接口类。
我的问题是我的代码对结果区分大小写。 下面是我的代码: 我的问题是:如何对它进行不区分大小写的排序?
我已经实现了一个小用例来评估Spring Data Neo4j。我有一个接口,它扩展了GraphRepository。 界面是这样的: 这给了我错误< code >“类型PublicRepository的层次结构不一致”。 这种类型的错误是因为当前类扩展/实现的类/接口之一不存在,而当前类又在扩展/实现另一个类/接口。 查看核心库的包我发现库中没有扩展为CRUDRepository的接口。我在Ne
我想在我的文档中添加分页链接。 是保存内容和可分页对象的Page对象。 问题是。它创建“sort=title:asc”。但我需要“sort=title,asc”的格式,如Spring数据文档本章所述。我假设有比自己构建所需字符串更好的方法。我认为这是一个普遍的问题。 创建可用的排序参数字符串的最佳方法是什么? 我不需要像这里所示的静态行为 Spring5 百里香3
我有一个来自firebase的uid,但它是这样存储的: checkout.js 存储我需要传递到另一个页面的uid。这个uid存储在中,我需要将它放到中才能在那里使用uid。我该怎么做?如果需要更多代码,请让我知道。我正在使用react/js
有时,客户端希望 RESTful Web API 提供经过排序后的字段,比如,按照年龄从大到小排列学生;有时,根据客户端条件,需要返回给前端的数据过多,如果一次提供,会大大降低响应速度。此时,可将数据做分割,分成不同的小份,发送给客户端。这一节,我们为大家介绍 RESTful Web API 如何实现数据的排序与分页。 1.排序的使用 在类视图中设置 filter_backends,使用rest_
我希望通过查看https://www.dariawan.com/tutorials/Spring/documenting-spring-boot-rest-api-springdoc-openapi-3和https://techsparx.com/software-development/OpenAPI/spring-boot-rest-api-docs.html来开发Spring Boot+Op