2017-02-25 69 views
2

我使用JSON服務器創建了一個模擬應用程序作爲後端,我想知道是否有可能獲得包含在終點的記錄總數而不加載所有的記錄自己?假設db.json文件看起來像下面的JSON代碼片段,那麼如何才能發現終點只有一條記錄而沒有提取記錄本身,只要有可能呢?從JSON服務器端點獲取記錄數

{ 
     "books": [{ 
     "title": "The Da Vinci Code", 
     "rating": "0"}] 
    } 
+0

林不知道我是否正確理解,你想返回屬性的數量?如果是這樣,你可以解析它並返回鍵的數量。 – Darlyn

+0

Nah,我只是想知道是否可以通過使用像http:// localhost:3001/books?total這樣的查詢字符串來獲取記錄的總數。在文檔中沒有關於它的信息,所以它可能不可能,在這種情況下,我只需要獲取所有記錄,並找出其中有多少個記錄。我詢問的原因是因爲我想使用分頁功能,但是如果我不能在首先獲取全部記錄的情況下無法獲得記錄總數,我不會看到它的用處。 –

回答

3

你有三種選擇。我向你推薦第三個:

  1. 返回所有記錄並計數它們。這可能會很慢並且通過線路發送大量數據,但可能是您最小的代碼更改。它也可以讓你開始攻擊,人們可以通過重複請求多條記錄來錘擊你的服務器。

  2. 添加新的端點。您可以添加一個簡單地返回計數的新端點。這很簡單,但有點煩人,有第二次終點來記錄和維護。

  3. 修改現有端點。返回類似

{ count: 157, rows: [...data] }

3的好處是它所有的一個端點。它也臨近您,可以在將來添加skiptake參數以允許分頁生成結果數據。

+0

完美!只是我想到的解決方案:) –

+0

@快樂考拉你有沒有發現如何編寫端點來獲取計數和行? – erwin

+0

@erwin是的,我確實!我去了伊恩的第三個建議。有沒有更好的方法去解決它? –

1

您將編寫另一個返回記錄數的結束點。通常你也可能想要限制和偏移的終點與分頁一起使用。

+0

你可以給我一個使用JSON服務器的例子嗎? –