使用Jersey/JAX-RS我有一個獲取處理程序,它包含將大文件複製到另一個位置的代碼。我希望能夠訪問URL並能夠看到複製的當前狀態(即時間已過)。我該如何做到這一點?如何處理在REST中完成某些操作所需的時間?
0
A
回答
0
哪邊?發件人或收件人?
作爲請求的一部分,發件人可以公開鏈接或其他內容。
你可以說是做類似
POST接收器/富/傳入
<incoming-foo>
<link rel="status" uri="sender/foo/abc/status">
</incoming-foo>
接收者可能 '201創建' 或 '303查看其它' 發送到URI接收器/富/ 1
在這個時候,一個
GET接收機/富/ 1
可能簡單地返回所提供的狀態連結,或者在表示它嵌入:
<foo>
<status>incoming</status>
<link rel="status" href="sender/foo/abc/status" />
</foo>
GET發送者/富/ ABC /狀態
可能返回,此時,「待處理」或「排隊」或類似的東西。
...
然後,發送者可以自由地
PUT接收器/富/ 1
<foo>
<content>...</content>
</foo>
在PUT,異步獲取到服務仍然可以從狀態原始服務,現在可能是「傳輸」或包括字節/總數等。
0
如果我正確理解你,我會假設,因爲這是一個長時間運行的操作, itial POST返回一個202,將位置標題或內容主體中的鏈接複製到複製操作的狀態頁面將是一個好方法。客戶端可以定期獲取狀態URL,當服務器完成複製時,GET可以使用303或某種機制返回鏈接以找到新創建的文件。
希望有幫助!
相關問題
- 1. 如何在某個目錄中處理某些操作?
- 2. 如何等待某些操作完成時調用異步API
- 3. startActivity完成後執行某些操作
- 4. 如何在node.js中完成繁重的處理操作
- 5. 在完成操作後執行某些操作
- 6. 如何在Windows登錄完成後運行某些操作?
- 7. 瞭解如何在事件處理程序完成時執行某些操作Android,Firebase
- 8. 定義執行某些操作所需的時間(延遲,吞吐量,帶寬)
- 9. 如何處理doGet或doPost中潛在的長時間操作?
- 10. 完成進程所需的時間
- 11. 如何在完成某些操作後從Web視圖中恢復?
- 12. AFNetworking - 所有JSON請求之前批處理操作完成塊燒製完成
- 13. 如何在某些事情完成時調用某個函數
- 14. 當另一個類完成處理所需數據時如何中斷ViewController
- 15. 如何在下拉的加載完成後運行某些操作
- 16. jQuery:在效果完成後執行某些操作
- 17. 在模板完成渲染後執行某些操作
- 18. nodejs在完成多個功能後執行某些操作
- 19. 在x秒內完成某些操作,然後退出
- 20. iOS - 如何在AFHTTPClient完成所有操作時得到通知
- 21. 如何在servlet完成其工作時設置中間(等待/處理)頁面
- 22. 如何在Windows中以30ms的間隔完成10ms的CPU時間操作?
- 23. 如何處理完成時的負值
- 24. iOS - 如何知道NSOperationQueue何時完成一些操作?
- 25. 顯示用戶在Java中執行某些操作需要多長時間
- 26. 如何在Android Listview中取消選擇所有項目時完成「批處理上下文操作」?
- 27. label.setVisible(true)在處理完成後纔會執行任何操作
- 28. 如何在新窗口加載完成後執行某些操作?
- 29. 如何在執行某些操作之前確保其他線程已完成
- 30. 何處處理REST MVC應用程序中的還原操作?