- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 org.springframework.data.domain.Pageable和我的 @RestController
.
如何验证或限制页面大小?
没有任何验证,当客户端调用 size
时的 10000
.实际pageSize
是 2000
.
我认为,这可能会导致最后一页出现错误信号。
我如何验证它并通知客户?说 400
?
最佳答案
您可以编写自定义注释来验证 Pageable
目的
@Constraint(validatedBy = PageableValidator.class)
@Target( { ElementType.METHOD, ElementType.PARAMETER })
@Retention(RetentionPolicy.RUNTIME)
public @interface PageableConstraint {
String message() default "Invalid pagination";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
int maxPerPage() default 100;;
}
public class PageableValidator implements
ConstraintValidator<PageableConstraint, Pageable> {
private int maxPerPage;
@Override
public void initialize(PageableConstraint constraintAnnotation) {
maxPerPage=constraintAnnotation.maxPerPage();
}
@Override
public boolean isValid(Pageable value, ConstraintValidatorContext context) {
return value.getPageSize()<=maxPerPage;
}
}
@RestController
@RequestMapping("/api")
@Validated
public class EmployeeRestController {
@Autowired
private EmployeeService employeeService;
@GetMapping("/employees")
public List<Employee> getAllEmployees(@PageableConstraint(message = "Invalid page size",maxPerPage = 400) Pageable pageable) {
return employeeService.getAllEmployees();
}
}
关于spring - 如何验证 Pageable 的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47468250/
“不是首页,但 Pageable 不是有效的 DocumentDbPageRequest,非首页请求需要 requestContinuation”findAll(PageRequest.of(1,10
正如标题所说, @CacheConfig(cacheNames = {"familyUserDao"}) public interface FamilyUserDao extends JpaRepos
所以我想返回一个包含约会的可分页。 pageable 中的每一页都应该只包含发生在某一天的约会。第 0 页应该是今天的日期,下一页将是明天发生的所有约会,并根据请求的页数继续。 如果您请求 3 页,您
我正在使用 JpaRepository Pageable 查询进行分页。除了排序字段区分大小写的问题外,所有的东西都工作正常。以下查询用于获取列表。 Pageable pageable = null;
Controller : @RequestMapping(path = "/serviceslist", method = RequestMethod.GET) public Page get
我想将此代码与 specification-arg-resolver 一起使用使用 @PageableDefault(sort = "createdAt", Direction = Sort.Dire
我应该用 Mockito 为这个方法编写一个测试: public Optional> getAllByPage(Integer pageSize, Integer page) { Pageab
我正在使用 org.springframework.data.domain.Pageable和我的 @RestController . 如何验证或限制页面大小? 没有任何验证,当客户端调用 size
我将一个实体嵌入到另一个实体中,如下所示。该存储库是在 DepEntity 上创建的。我正在尝试检索在 totalExp 列上排序的 DepEntity 对象在ExpEntity中。我正在使用 Pag
我在任何地方都找不到是否可以从字符串手动创建可分页,假设我们有以下服务方法 public List findAnything(final int page, final int size, fina
我使用 Spring 4.1.6.RELEASE 和 Spring Data Jpa 1.8.0.RELEASE。我在创建 org.springframework.data.domain.Pageab
我知道 Pageable 来自 spring-data- 域。 有没有什么优雅的方法可以直接使用 org.springframework.data.domain.Pageable 中的 @RestCo
我正在将 Spring 数据与 一起使用JPA 2.1 使用以下方法检索具有分页和规范(标准构建器)的实体: Page findAll(Specification spec, Pageable pag
我正在尝试通过在 Springboot、JPARepository 中使用 Pageable 来实现分页和排序。不知何故排序不起作用。我在下面包含我的代码,其中我有 Controller 、服务类、存
我花了很多时间在 Webflux 中找到有关 Pageable 的解决方案,不幸的是,在撰写本文时,Webflux 不支持 Pageable 所以我想出了一个解决方案,这就是我已经实现的。这是解决 S
如果我进行查询 @Query("SELECT t FROM Product t WHERE t.isApproved = true AND t.partnerId = ?1 AND t.categ
我有下面的代码。 public static Pageable defaultSort(Pageable currentPageable, String defaultSort) {
我有以下测试代码,我正在测试可分页端点,其中列出了学生的所有条目。 @Autowired private MockMvc mockMvc; @MockBean private StudentR
如何在 Pageable 对象中使用 isPaged()。我已经创建了这样的 pageable 对象。 Pageable pageable = new PageRequest (pageNumber,
在数据库表中products我有12条记录。 Ids 从 1 到 12。我使用 JpaRepository 调用 db,它扩展了 PagingAndSortingRepository。无法理解: 为什
我是一名优秀的程序员,十分优秀!