Grails Domain Rest 服务仅返回 10 行



问题:当在域上使用@Resource将其公开给休息调用时,我只返回了 10 行。当表有 20 行时为什么会这样?这是映射到域的现有表。

测试:使用 Curl 或 Web 浏览器,我只返回 10 行。当我打开SQL日志记录时,它正在放置TOP 10?在查询中 ?

SQL日志:

休眠:选择 count(*) 作为 zt6 this_中的y0_休眠:选择前 10 个 this_.id 作为id1_1_0_,this_.描述作为 zt6 this_descript2_1_0_

为什么是前 10 名?

当我使用grails控制台进行测试时,我得到了所有行:

println Dcmnetwork.count()

休眠:选择 count(*) 作为 zt6 this_中的y0_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>

首先找出哪个控制器负责此输出

grails url-mapping-report

然后根据您的需求覆盖 getter:

class DcmnetworkController extends RestfulController<Metric> {
    static responseFormats = ['json', 'xml']
    DcmnetworkController() {
        super(Dcmnetwork)
    }
    @Override
    def index() {
        respond Dcmnetwork.list()
    }
}

最新更新