2012-11-25 85 views
0

當我向API發送XML請求並具有分頁信息所需的參數時,我將頁碼發送爲1(默認值爲1),頁面大小爲10.我如何請求爲所有頁面信息並獲得所有頁面的響應,但僅適用於頁面1?從XML響應中獲取所有頁面信息

這是我送

<?xml version='1.0' encoding='UTF-8'?><PrivateOptionsAPIRequest> 
    Other part of my XML Request 
    <PaginationInformation><PageNumber>1</PageNumber><PageSize>10</PageSize></PaginationInformation></PrivateOptionsAPIRequest> 
+3

它可能取決於您使用的API。沒有通用的分頁機制可用於全球的每個API和應用程序。 – Pawel

回答

1

你可能不能。

分頁的要點是你不要求所有的數據,因爲它可能太多了。你準備好接收和處理5GB文件了嗎?

如果某個API不允許您請求所有數據,則需要發送多個請求,每個頁面一個請求。

請確保您參考文檔和/或聯繫您連接到的系統的所有者。

0

我會盡量把一些大的數量爲每頁元的請求。例如: <PageNumber>1</PageNumber><PageSize>1000000</PageSize>

0

0)沒有統一的答案。

1)某些API返回一個NEXT項目或類似內容,可用於獲取結果的下一頁,通常可以是可以GET的URL或可以POST的參數。

2)正確的方式來獲得一個分頁API是爲了與要求:

<PageNumber>1</PageNumber>

<PageNumber>2</PageNumber>

等,遍歷的頁數,這可能是在API中某處。如果不是,當它不再返回時,停止元素或者元素的容器已經不存在。 (如果項目數量可被PageSize整除並且請求頁面返回第一個(有些可以這樣做),則某些API上的元素數量可能會失敗。)

3)提高頁面大小不太可能工作:大多數API將其設置爲允許的最大值;如果你給他們太多的數字,一些寫得不好的API會中斷。