我有一個使用Angular 2和Spring Boot開發的Web應用程序。我使用spring-boot-data-rest
依賴關係將我的存儲庫公開爲HTTP端點。在Spring Data Rest中啓用交叉原點請求
在開發過程中,我在端口8080上運行的本地tomcat上運行我的後端彈簧引導項目。要開發前端,我使用angular-cli在端口4200上服務我的Angular 2應用程序。我的前端運行在4200需要能夠擊中暴露在8080上的端點,但這不起作用,因爲:
沒有'Access-Control-Allow-Origin'標頭存在於請求的資源上。因此不允許訪問原產地'http://localhost:4200'。
如果這些都是我手動在@RestController
類型的定製終端,我可以簡單地添加@CrossOrigin
註釋這樣:
@RestController
public class MyController {
@CrossOrigin(origins = "http://localhost:4200")
@RequestMapping(value = "/whatever")
public void whatever() {
//whatever
}
}
但我顯然不能爲我的終點由spring-boot-data-rest
暴露做到這一點。那麼,我怎樣才能讓這些端點可以從http://localhost:4200
出發?
我最近所面對的問題;如果您使用的是最新版本的Spring Data,那麼一切都會很順利(http://stackoverflow.com/a/42403956/4922375),否則,您必須自己寫一個過濾器,它爲每個響應設置一些標題。 – Andrew