在Play應用程式我設計,這些都是我的一些路線如何在REST API中定義編輯頁面?
POST /visits controllers.Visit.create
GET /visits controllers.Visit.visits
GET /visits/:id controllers.Visit.visit(id: Long)
PUT /visits/:id controllers.Visit.update(id: Long)
DELETE /visits/:id controllers.Visit.delete(id: Long)
我支持瀏覽器界面太。我遵循我在此處看到的指導: RESTful on Play! framework
我可以輕鬆提供HTML模板以顯示有關特定訪問或訪問列表的詳細信息。但是,一個「編輯頁面」是如何徹底落實到這個過程中的,這個過程必須預先填寫來自特定訪問的信息?我可以很容易地做這樣的事情:GET /visits/:id/edit controllers.Visit.edit(id: Long)
這將返回一個預填充頁面的訪問信息,或者我可以有一個靜態HTML頁面調用/visits/:id
AJAX調用填充字段,這將讓我避免腐敗我的資源 - 使用瀏覽器頁面特定的路線驅動API。或者有更好的選擇嗎?什麼是最佳實踐,爲什麼?
真棒解釋。還有一個問題。您建議使用AJAX GET來填充我的標準API的字段,但是您建議可以使用瀏覽器頁面特定的路由。瀏覽器頁面特定的路線將允許我避免額外的客戶端 - 服務器查詢,返回預先填充的頁面。爲什麼我不想這樣做?在靜態頁面加載之後,有沒有用AJAX完成GET的任何爭論?我認爲靜態頁面緩存將是一個巨大的勝利,做一個瀏覽器頁面路由將是最好的...簡單的非面向用戶的管理頁面,就像你所描述的。沒有? – sdanzig
帶有AJAX的靜態文檔充當您的API的客戶端,而不是API資源,如果您不小心將其與特定服務耦合得太多,則可以將其重用爲所有API的UI。例如,檢查HAL瀏覽器。 https://api-sandbox.foxycart.com/hal-browser/hal_browser.html#/。這只是一個靜態HTML,您可以將它放在由HAL驅動的任何RESTful API上,並且它可以用作整個API的瀏覽器。 –