Служба Grails Domain Rest возвращает только 10 строк

1

Проблема. При использовании @Resource в домене, чтобы выставить его на вызов для отдыха, я получаю только 10 строк. Почему это, когда таблица имеет 20 строк? Это существующая таблица, отображаемая в домене.

Тестирование. Используя Curl или веб-браузер, я получаю только 10 строк. Когда я включил регистрацию SQL, он помещает TOP 10? в запросе?

Журналы SQL:

Hibernate: выберите count (*) как y0_ из zt6 this_ Hibernate: выберите top 10 this_.id как id1_1_0_, this_.description как descript2_1_0_ из zt6 this_

Почему топ-10?

Когда я тестирую консоль grails, я получаю все строки:

println Dcmnetwork.count()

Hibernate: выберите count (*) как y0_ из zt6 this_ 20

Домен:

package testrest

import grails.rest.*

@Resource(uri='/test' )
class Dcmnetwork{

    int id
    String Description

    static mapping = {
        table 'zt6'
        version false
        id column: "id"
        cache 'read-only'
    }
    static constraints = {}
}

Вывод веб-браузера:

<list>
<dcmnetwork id="1">
<description>Self Test</description>
</dcmnetwork>
<dcmnetwork id="2">
<description>Test 2</description>
</dcmnetwork>
<dcmnetwork id="3">
<description>Test 3</description>
</dcmnetwork>
<dcmnetwork id="4">
<description>Test 4</description>
</dcmnetwork>
<dcmnetwork id="5">
<description>Test 5</description>
</dcmnetwork>
<dcmnetwork id="6">
<description>Test 6</description>
</dcmnetwork>
<dcmnetwork id="7">
<description>Test 7</description>
</dcmnetwork>
<dcmnetwork id="8">
<description>Test 8</description>
</dcmnetwork>
<dcmnetwork id="9">
<description>Test 9</description>
</dcmnetwork>
<dcmnetwork id="10">
<description>Test10</description>
</dcmnetwork>
</list>
  • 0
    Можете ли вы попробовать добавить в запрос параметр max=20 или offset=10 и посмотреть, что-нибудь изменится? Похоже, что автоматически сгенерированный контроллер разбивает на страницы результаты.
Теги:
hibernate
rest
grails

1 ответ

0

Прежде всего, выясните, какой контроллер отвечает за этот вывод

grails url-mapping-report

Затем переопределите геттер с вашими потребностями:

class DcmnetworkController extends RestfulController<Metric> {
    static responseFormats = ['json', 'xml']

    DcmnetworkController() {
        super(Dcmnetwork)
    }

    @Override
    def index() {
        respond Dcmnetwork.list()
    }
}
  • 0
    Да, это работает. Спасибо за помощь.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню