我需要了解AEM中Apache Sling的概念。 AEM文檔說Apache Sling可以描述爲REST風格的Web框架,Apache Sling是REST風格的框架,可通過http協議訪問java內容存儲庫。Apache Sling如何在CQ/AEM中用作RESTful Web框架?
我用sling api來訪問JCR節點/屬性。我真的不知道在這裏使用寧靜的地方。任何人都可以告訴我們,Apache Sling是如何在CQ/AEM中用作REST風格的Web框架的?
我需要了解AEM中Apache Sling的概念。 AEM文檔說Apache Sling可以描述爲REST風格的Web框架,Apache Sling是REST風格的框架,可通過http協議訪問java內容存儲庫。Apache Sling如何在CQ/AEM中用作RESTful Web框架?
我用sling api來訪問JCR節點/屬性。我真的不知道在這裏使用寧靜的地方。任何人都可以告訴我們,Apache Sling是如何在CQ/AEM中用作REST風格的Web框架的?
您是否閱讀過Apache Sling的文檔?或者你的問題到底是什麼? 無論如何,Sling是與JCR一起爲CQ開發的。然後兩者都提交給Apache(Jackrabbit作爲JCR的參考實現)。 Sling是RESTful,因爲它不使用會話(創作時除外)提供存儲在JCR中的內容。它使用主要的HTTP協議,主要是GET和POST,但也可以使用PUT和DELETE。您可以使用所謂的選擇器和擴展來爲相同的內容提供不同的視圖。最常見的是HTML,JSON和XML。
我明白這一點,調用一個框架RESTful是有點延伸。如果框架允許您遵循REST的定義約束,則可以使用框架構建RESTful應用程序。同時,無論框架如何,都有可能違反它們。因此,無論您的工具如何「RESTful」,您最終都會得到與REST無關的應用程序。
在吊索的情況下,您可以輕鬆創建一個Servlet,指定它應該使用GET方法,並對其進行修改版本庫的狀態,違反了基本的HTTP協議的語義。
我認爲它們在您引用的Adobe文檔中的含義是默認的servlet的行爲方式與HTTP一致,the way Thomas explained in his answer。
但是,與底層協議一致似乎不足以調用API RESTful。舉例來說,我實在不明白吊帶(孤立地考慮)如何使用HATEOAS(超文本作爲應用程序狀態的引擎)。 You need to drive the application state using hypermedia。它使我更有意義,如果我們用CRXDE,它提供了超媒體控件資源處理一起考慮吊帶。
至於AEM本身,我看到了a presentation earlier this year by none other than Roy Fielding himself about REST in AEM,他提出的觀點是AEM是RESTful,因爲它可以像網站一樣使用。
等
這是有效的一個網站,你可以使用內容管理(及以上)。客戶端(瀏覽器)只需轉到歡迎頁面並遵循超鏈接,就可以使用它,解釋按需檢索的代碼,無需進行帶外通信(如閱讀文檔,手動構建URL和等)
請介意這個答案是我自己的我在AEM和吊帶文檔和Roy Fielding的帖子和演示文稿,它是絕不贊同或由Adobe或羅伊菲爾丁親自批准查到的資料解釋;)
downvoter不僅歡迎評論和幫助改善這個答案。 – toniedzwiedz