【问题标题】:Pagination on select query metamug选择查询 metamug 上的分页
【发布时间】:2020-02-08 00:11:12
【问题描述】:

这是我当前的资源文件。我正在使用MySQL Query Pagination Feature

<?xml version="1.0" encoding="UTF-8" ?>
<Resource xmlns="http://xml.metamug.net/resource/1.0" v="1.0">
<Request method="GET">
    <Query>
        select * from tbl_task_master 
        LIMIT $limit OFFSET $offset
    </Query>
</Request>
</Resource>

https://api.metamug.com/checklist/v1.0/task?offset=0&amp;limit=50

它正在获取所有记录。我想分页,只得到一个子集。如何使用 Metamug 提出请求。

【问题讨论】:

    标签: mysql sql pagination metamug


    【解决方案1】:

    要实现分页,您需要使用Query 标记的limitoffset 属性,然后您可以将您将在请求中使用的任何参数名称传递给它。
    假设您的 pagination parameters 分别是 lo 用于限制和偏移(虽然不是一个好的命名约定)
    您的 resource 文件现在看起来像

    更新:

    <?xml version="1.0" encoding="UTF-8" ?>
    <Resource xmlns="http://xml.metamug.net/resource/1.0" v="1.0">
        <Request method="GET">
           <Param name="l" type="number" required="true" min="5" max="20"/>
           <Param name="o" type="number" required="true" min="0" max="100"/>
           <Sql id="tasks" limit="l" offset="o">
              select * from tbl_task_master 
           </Sql>
        </Request>
    </Resource>  
    

    声明

    <Param name="l" type="number" required="true" min="5" max="20"/>
    <Param name="o" type="number" required="true" min="0" max="100"/>  
    

    是可选的,但正如您所见,我们可以添加更多的约束来初始化它们。请参阅 more on Param tag and validation

    【讨论】:

    • 我认为查询中的LIMIT $limit OFFSET $offset 不再需要了。
    • @Sorter 是的,你是对的......我的错。使用offsetlimit 属性后,您不要再将它们写入查询中。我已经更新了答案
    • 还要确认我的 api 调用根据您的回答变为 https://api.metamug.com/checklist/v1.0/task?o=0&amp;l=50
    猜你喜欢
    • 2021-11-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-31
    相关资源
    最近更新 更多