Grails rest api /curl-ограничение 10 записей для списка

Я не уверен, если это завиток или граали вопрос-я подозреваю граали.

если я загрузил приложение grails 3 rest с 9 записями и запустил curl, чтобы перечислить их, я получаю 9 записей.

10 загрузочных записей показать 10 записей со списком curl.

11 bootstrap записи показать 10 записей с листингом через curl.

Так есть ли значение по умолчанию 10 с REST api? Если да, то как это можно изменить?

Код регулятора автоматический произведенный профилем остальных поэтому стандарт.

package heroes2

class UrlMappings {

    static mappings = {
        delete "/$controller/$id(.$format)?"(action:"delete")
        get "/$controller(.$format)?"(action:"index")
        get "/$controller/$id(.$format)?"(action:"show", method: "OPTIONS")
        post "/$controller(.$format)?"(action:"save")
        put "/$controller/$id(.$format)?"(action:"update")
        patch "/$controller/$id(.$format)?"(action:"patch")

        "/"(controller: 'application', action:'index')
        "500"(view: '/error')
        "404"(view: '/notFound')
    }
}

домен является

package heroes2
import grails.rest.*
@Resource(uri = '/heroes', readOnly = false, formats = ['json', 'xml'])
class Hero {
    String name
}

С уважением,

1 ответ

  1. Источником вашей «проблемы» может быть следующий код (относительно max) в вашем scaffolded index-методе в контроллере:

    def index(Integer max) {
        params.max = Math.min(max ?: 10, 100)
        respond Hero.list(params), model:[heroCount: Hero.count()]
    }
    

    Вы можете установить смещение и max params в вашем вызове, как

    /heroes?offset=10&max=30 
    

    например, чтобы получить его постранично

    или измените код для scaffolded регулятора или создайте регулятор с

    static scaffold=Hero
    

    и только метод героев с:

    def heroes() {
        respond Hero.list(params)
    }