我們有一個Ember前端和Spring Boot後端。 當Ember在端口4200上運行獨立並在8080上運行Spring Boot後端時,一切正常。但是這種情況在生產環境中有些不尋常,不僅因爲CORS問題。後端的URL必須在Ember應用程序的構建時(!)已知,因爲它已經集成在編譯後的應用程序中。對許多項目來說這是不可能的。因此,我們希望在Spring Boot後端集成前端Ember應用程序,這通常用於例如SPA與AngularJS。 Ember應用程序(來自/ dist)因此被複制到src/main/resource/static。使用Ember應用程序調整rootURL和API.host後,效果非常好。 現在的問題是,當在瀏覽器中手動重新加載URL時。這樣的URL現在是Ember路線。 http請求到達Spring Boot後端,它不知道路由,我們得到了404錯誤。如何在SpringMVC中配置emberjs路由?
SpringMVC(作爲Spring Boot後端的一部分)應該如何爲這樣的路徑回答httpRequest,以便Ember應用程序繼續他們的工作並處理請求?
HTML Page request (by browser)
http://host/springBootAppContext/index.html => src/main/resource/static/index.html (ember app)
REST API request (by Ember App)
http://host/springBootAppContext/users => RESTController mapped for /users
Ember Routing (by Ember App)
http://host/springBootAppContext/user-list => ???
您不能提供正常的Spring MVC @Controller類,因爲模型視圖響應interpretet爲用戶list.html或類似不存在