我有被分成一個microService架構等(作爲示例)的假設web應用: 作爲Dropwizard服務的頁眉和頁腳?
客戶端A-C是用作HTML Web應用程序。服務1-3是處理CRUD並提供JSON的後端。還有其他客戶端(未圖示)不訪問前端服務 - 即本機客戶端,如Android和iOS。我試圖找出在所有網絡客戶服務常見前端的內容(比如頁眉/頁腳/ CSS)的最佳方式。我能想到的最好的方法是創建一個前端服務,每個Web客戶端都可以訪問這些前端服務來獲取這些常用信息。這樣,更改通用前端將立即反映在每個應用程序中,而無需更新版本,重新編譯或重新部署。
我的問題是什麼是這樣做的最佳方式?我正在使用Dropwizard爲Web客戶端和服務提供服務。 Web客戶端通過Jetty提供Dropwizard Views(帶有Freemarker模板)。有沒有辦法來撰寫Dropwizard的意見,使我可以請求頭,並從前端服務頁腳視圖和包裝這些圍繞每個視圖從客戶端返回的?或者我是否完全錯誤?我知道的Freemarker支持模板繼承,但據我所知,這意味着在頁眉/頁腳將不得不生活在每個客戶端或者從一個共同的JAR(這可能需要更新版本號和重新編譯)拉入。