Class ScrollResponse<T>

java.lang.Object
cn.dinodev.spring.commons.response.Response<Collection<? extends T>>
cn.dinodev.spring.commons.response.ScrollResponse<T>
Type Parameters:
T - 响应数据元素类型

public class ScrollResponse<T> extends Response<Collection<? extends T>>
REST API滑动窗口响应类,用于分页滚动加载
Since:
2022-07-11
Author:
Cody Lu
  • Constructor Details

    • ScrollResponse

      protected ScrollResponse(int code, String msg)
      构造函数,用于创建失败的响应
      Parameters:
      code - 状态码
      msg - 消息
    • ScrollResponse

      protected ScrollResponse(Collection<? extends T> list, @Nullable String nextCursor, boolean hasMore)
      构造函数,用于创建成功的响应
      Parameters:
      list - 数据列表
      nextCursor - 下一个游标
      hasMore - 是否有更多数据
  • Method Details

    • set

      public ScrollResponse<T> set(Collection<? extends T> list, @Nullable String nextCursor, boolean hasMore)
      设置滚动响应的数据
      Parameters:
      list - 数据列表
      nextCursor - 下一个游标
      hasMore - 是否有更多数据
      Returns:
      当前 ScrollResponse 实例
    • setData

      public Response<Collection<? extends T>> setData(Collection<? extends T> list)
    • success

      public static <T> ScrollResponse<T> success(@Nonnull Collection<? extends T> list, @Nullable String nextCursor, boolean hasMore)
      创建一个成功的滚动响应
      Type Parameters:
      T - 数据类型
      Parameters:
      list - 数据列表
      nextCursor - 下一个滚动ID
      hasMore - 是否有更多数据
      Returns:
      成功的滚动响应
    • success

      public static <T, S> ScrollResponse<T> success(@Nonnull Collection<S> list, @Nonnull Function<Collection<S>,Collection<? extends T>> converter, @Nullable String nextCursor, boolean hasMore)
      创建一个成功的滚动响应,并对数据进行转换
      Type Parameters:
      T - 目标数据类型
      S - 原始数据类型
      Parameters:
      list - 原始数据列表
      converter - 数据转换函数
      nextCursor - 下一个游标
      hasMore - 是否有更多数据
      Returns:
      转换后的成功滚动响应
    • successWithMore

      public static <T> ScrollResponse<T> successWithMore(@Nonnull Collection<? extends T> list, @Nonnull String nextCursor)
      创建一个表示有更多数据的成功滚动响应
      Type Parameters:
      T - 数据类型
      Parameters:
      list - 数据列表
      nextCursor - 下一个游标
      Returns:
      成功的滚动响应
    • successWithNoMore

      public static <T> ScrollResponse<T> successWithNoMore(@Nonnull Collection<? extends T> list)
      创建一个表示没有更多数据的成功滚动响应
      Type Parameters:
      T - 数据类型
      Parameters:
      list - 数据列表
      Returns:
      成功的滚动响应
    • failPage

      public static <T> ScrollResponse<T> failPage(String msg)
      创建一个失败的分页响应
      Type Parameters:
      T - 数据类型
      Parameters:
      msg - 失败消息
      Returns:
      失败的滚动响应
    • failPage

      public static <T> ScrollResponse<T> failPage(Status status)
      创建一个失败的分页响应
      Type Parameters:
      T - 数据类型
      Parameters:
      status - 状态
      Returns:
      失败的滚动响应