При защите от атаки вы можете посмотреть также и на нижние границы.Я просто наткнулся на это в Grails 2.4.4: все, что меньше 1, возвращает все записи.Это не задокументировано, и источник, кажется, проверяет значения> -1, но я обнаружил, что мне нужно было проверить значения> 0:
//Use value, if found, else 20
int max = params.getInt('max') ?: 20
//no less than 1, no more than 100: max < 1 returns ALL records (grails 2.4.4)
max = Math.max(max, 1)
max = Math.min(max, 100)
Domain.list(max: max)