Java 使用REST请求表中记录数的最佳方法
使用/api/v1/account/names,我请求数据库中的所有名称,但如果我需要知道记录数(名称),该怎么办?(用于寻呼) 您建议使用以下REST URL中的哪种方法:Java 使用REST请求表中记录数的最佳方法,java,rest,Java,Rest,使用/api/v1/account/names,我请求数据库中的所有名称,但如果我需要知道记录数(名称),该怎么办?(用于寻呼) 您建议使用以下REST URL中的哪种方法: /api/v1/帐户/名称/计数 /api/v1/account/names?计数-(不适用于Jersey) /api/v1/账户/名称/记录 你的建议 api/v1/account/names的结果和api/v1/account/names的结果# 这是不同的 thx对于分页,您不应该执行计数查询,而应该同时查询所有内容
thx对于分页,您不应该执行计数查询,而应该同时查询所有内容:计数和页面记录 在数据库上,发出类似(类似于PGSQL的语法-获取第3页共25条记录,其中第4列的值为“x”)的命令 结果集将包含第4列(每行)的总计数 然后构建一个Json响应,如下所示
{
totalCount: 1280, -- value in row 1 column 4
offset: 75,
rows: [
[row1_1, row1_2,row1_3],
[row2_1, row2_2,row2_3],
...
[row25_1, row25_2,row25_3],
]
}
其中包含总行数、查询时间、偏移量和页面内容
此响应可由分页网格轻松处理。如果
GET/api/v1/account/names
返回名称列表:
{
"names": ["Foo", "Bar", "Baz"]
}
那么为什么不将元素计数到该列表中呢
{
"names": ["Foo", "Bar", "Baz"],
"count": 3
}
您可以通过GET/api/v1/account/names/count
请求此子资源:
{
"count": 3
}
我认为最好的方法是将这两个请求合并在一个请求中,并返回条目数,例如,在响应的标题中,以确保同时检索条目及其计数。如果计数在计数请求和数据请求之间发生变化,该怎么办?也许这是另一种方法-完全避免此调用。这可能是最好的。我太执着于要求记录的数量,以至于忽略了这个问题。你能写一个答案让我给你打分吗?对不起,我接受了BGRs的答案-答案是一样的,但更详细一点。。。
{
"count": 3
}