2014-01-05 39 views
0

我收到了URL和查詢字符串形式的API鏈接。以下是我的做法,如何優雅地向API發送許多請求

  • 查詢字符串格式意味着要發起GET請求。

  • 我也認爲這可能與HttpURLConnection用Java做

  • 我有我從數據庫

獲取一些數據列表我怎麼會火中的每個數據清單?簡單的for循環不足以完成這樣複雜的任務嗎?

API鏈接是一個簡單的鏈接,查詢字符串與數據從數據庫一次追加到一個。

想聽聽你將如何處理這個任務,看看我的方法是否缺乏某些地方。

+1

問API作者他們對請求率的期望是什麼以及API是否支持批量請求 – bobah

+1

我認爲for循環足夠好,如果你只有幾十個,但如果你有幾百個,那麼你可能會做一個線程的形式池。是否有您試圖發送的一般請求數? –

+1

你的問題需要揭示更多的信息給我們,給你一個具體的答案。 Web API可以處理異步請求嗎?什麼是您可以發送到API的最大負載?請求可以分成一個嗎? (如果是,最大批量是多少?)。 –

回答

2

你對懷疑簡單的for循環方法是正確的。這會很慢。該請求被阻塞,因此您在請求2之前將等待請求1的結果。查看異步執行此操作,一次發出多個請求。

沒有關於API的詳細信息,很難說更多。它是一個在線網絡服務嗎?內部由另一個部門創建的東西?如果它不存在,可以考慮要求一個可以同時接收多個參數的函數版本,而不是必須進行大量微小的調用。

+0

它不是由衆所周知的Web服務公開的API。這是一個低端的短信服務提供商。鏈接的形式是:'http://xxx.xxx.xxx.xxx:8080/bulksms/bulksms?'query字符串與手機' –

+0

發送短信將受益於使bean存儲所有信息(消息,以數字,日誌的任何跟蹤信息);使用ThreadPoolExecutor來排隊和異步作業。核心和最大線程超過1 ... @Ahsan – tgkprog