2013-04-29 122 views
0

我正在使用Zend Framework開發REST API。我必須能夠生成報告作爲.pdf文件。使用Zend Framework的REST API - 是否可以生成pdf文檔

它將如何處理? URI是否像http://api.example.com/reports

由於我實際上每次都是基於輸入值生成它,這是否違反REST原則(即不能緩存)?輸入值是否可以以二進制形式發送(爲了執行諸如HTML到PDF之類的操作)?

此外,如果有多種類型的報告,客戶將如何選擇要生成的報告?我是否會像通常的資源一樣擁有相似的ID(這樣我就可以擁有http://api.example.com/reports/<reportId>)?

業務邏輯會是什麼?我應該將文件保存在服務器上並返回下載鏈接嗎?我會將.pdf文檔作爲二進制文件返回而不將其保存在服務器上嗎?

回答

0

您可以將請求標頭'Accept'設置爲'application/pdf'。您還可以在您的URL中指定您使用URL參數請求PDF文檔:http://api.example.com/reports?type=pdf

http://api.example.com/reports/<reportId>是向用戶顯示個別報告的好方法。

您如何實施它取決於您的需求。你需要生成相同的報告嗎?如果你不需要太多,我不認爲你需要把它們放在服務器上。

+0

我將收集不同的報告,用戶可以從中選擇要生成的報告。 生成的報告幾乎每次都會根據數據庫中的數據進行更改,所以我認爲將它們保留在服務器上將毫無意義。 在這種情況下,我認爲它應該是對'http://api.example.com/reports/ '的GET調用,但響應如何包含PDF文件(即,我應該將它作爲二進制返回還是其他方式)?應該返回哪個http代碼? 此外,是否可以發送HTML數據到服務器並從該數據中返回一個PDF文檔? – Daniel 2013-04-30 06:56:59

相關問題