簡體   English   中英

什么是構建REST角度應用程序的正確方法?

[英]What is correct approach to build REST angular application?

我有一些Java應用程序。 它為REST客戶端提供json,並使用localhost:8080來處理請求。

我也有angular 2應用程序,它使用localhost:3000來工作(我假設我可以將打字稿文件編譯為js並在沒有lite-server的情況下使用,但不能:

zone.js@0.6.25?main=browser:269 Uncaught Error: More tasks executed then were scheduled.
index.html:20 Error: Error: XHR error loading file:///C:/dev/angular2app/app/main.js(…)

)。 我的角度服務試圖從這樣的一些網址獲取json表單服務器:

http://localhost:8080/api/test

當然,我收到有關跨域請求的錯誤的禁止。 但是,如果我在與Java應用程序相同的端口上啟動angular應用程序,則其中一個將沒有位置(端口正忙,依此類推)。

請問誰能解釋構建這種應用程序的正確架構方法?

在您的情況下,需要將AngularJS應用程序(即JS,HTML文件等)打包到WAR文件中(由於您使用的是Tomcat 8080,所以我認為它是WAR文件),否則下面的概念也適用。 在容器上部署了應用程序后(假設容器在8080上運行),您將使用可能的URL http:// IP:8080 / appName /請求該應用程序。 在這種情況下,不存在端口沖突(實際上不存在沖突情況)。 您已經提到了在端口3000上進行的工作,我假設您已將服務URL硬編碼為(可能是) http:// localhost:3000 / 現在,由於服務器在8080上運行,這將不起作用。您需要做的是將應用程序中的服務調用URL相對應,或者將Angular應用程序中的服務URL相對於硬代碼http:// localhost:8080 /相對應 還有另一個需要考慮的問題,如果您正在使用IP通過瀏覽器訪問應用程序,並且在服務調用URL中使用了硬編碼的本地主機,那么就會出現跨域問題。 為此,請使用URL作為http:// localhost:8080 ...從瀏覽器訪問該應用程序。 但是,如果您在Angular應用程序中使服務調用URL相對應,則可以從瀏覽器中使用IP或localhost。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM