使用/ api/v1/account/names我在我的數據庫中請求所有名稱,但如果需要知道記錄數(名稱),該怎麼辦? (尋呼機)使用REST請求表中記錄數的最佳方法
哪個以下REST的URL的方式,你會推薦:
- /API/V1 /帳號/名/數
- /API/V1 /帳號/名字算什麼? - (沒有很好地工作,新澤西州)
- /API/V1 /帳號/名/記錄
- 您的建議...
API/V1 /帳號/名稱和一個結果對於api/v1/account/names#無論# 是不同的。
THX
使用/ api/v1/account/names我在我的數據庫中請求所有名稱,但如果需要知道記錄數(名稱),該怎麼辦? (尋呼機)使用REST請求表中記錄數的最佳方法
哪個以下REST的URL的方式,你會推薦:
API/V1 /帳號/名稱和一個結果對於api/v1/account/names#無論# 是不同的。
THX
尋呼,你不應該做一個計數查詢,但查詢一次一切:數和網頁記錄。
在你的數據庫,發出類似的信息(PGSQL的語法 - 獲取的25條記錄第3頁,其中第4列的值是「X」)
Select
row1, row2, row3, count(*) over()
from MyShema.MyTable
where row4 = 'x' order by row1 asc
offset 75 limit 25;
中的結果將包含在第4列的總數(每一行)。
然後建立一個看起來像
{
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],
]
}
其中包含的總行數查詢,偏移量和頁面內容的時間JSON響應。
該響應可以通過尋呼網格輕鬆處理。
如果GET /api/v1/account/names
返回名稱的列表:
{
"names": ["Foo", "Bar", "Baz"]
}
又何嘗不是,但一個count
元素插入此列表:
{
"names": ["Foo", "Bar", "Baz"],
"count": 3
}
你可以請求該子資源爲GET /api/v1/account/names/count
:
{
"count": 3
}
我認爲最好的方法是c將這兩個請求合併爲一個並返回條目的數量,例如在響應的頭部中,以確保條目和它們的計數在同一時間被檢索。
對不起,我接受BGRs的答案 - 它是一樣的,但更詳細一點... –
以及如果該計數會在您的計數請求和數據請求之間發生變化,該怎麼辦? –
也許這是另一種方法 - 完全避免這種情況。這可能是最好的一個。我非常想要申請一些我忽略了這個問題的記錄。你能寫一個答案,以便我可以評價你嗎? –
寫了一個答案。 –