在Spring Boot应用程序中,全局控制分页查询条数可以通过多种方式实现。
1. 使用拦截器或过滤器
创建一个拦截器(Interceptor)或过滤器(Filter),在请求进入Controller之前,检查请求参数中是否有分页相关的参数(比如pageSize
和pageNum
),然后对其进行全局限制。
例如,创建一个拦截器:
@Component
public class PageInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
// 获取分页参数
String pageSizeStr = request.getParameter("pageSize");
String pageNumStr = request.getParameter("pageNum");
// 设置默认值和全局最大值
int defaultPageSize = 10;
int maxPageSize = 100;
// 校验并修正pageSize
int pageSize = defaultPageSize;
if (pageSizeStr != null && !pageSizeStr.isEmpty()) {
pageSize = Math.min(Integer.parseInt(pageSizeStr), maxPageSize)