簡體   English   中英

對NodeJS的React可以發布到Spring Boot REST API,但不能放入相同的API-CORS問題

[英]React on NodeJS can POST to Spring Boot REST API but can't PUT to the same API - CORS issue

我在Node上運行的React應用程序可以對Spring Boot REST API進行GET和POST調用,但是當嘗試調用PUT時,瀏覽器控制台會在控制台中顯示OPTIONS請求返回403和以下消息:

無法加載http:// localhost:8080 / project / 65 :對預檢請求的響應未通過訪問控制檢查:所請求的資源上沒有'Access-Control-Allow-Origin'標頭。 因此,不允許訪問源' http:// localhost:3000 '。 響應的HTTP狀態碼為403。

我可以從Postman撥打相同的PUT電話,效果很好。

我的Spring Boot應用程序具有以下CORS配置,但這僅適用於自身提供的HTML,對React應用程序沒有影響嗎?

@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**").allowedOrigins("http://localhost:8080", "http://localhost:3000");
    }
}

大量在Node中啟用CORS的搜索已經發現了很多有關Express的知識,但這似乎無濟於事。

由於瀏覽器用作強制執行cors,因此很難為本地主機(從瀏覽器)啟用cors。

順便說一句:這就是為什么它可以與工具(除了在瀏覽器中運行)一起使用的原因,因為它們不是瀏覽器,所以不會強制執行。

最簡單的方法是運行中間件節點快速服務器。

由於http服務器不會用cors填充請求,因此應該不再有cors問題。

因此,過程如下:

前端呼叫請求到本地http服務器本地http服務器又向PayPal服務器發出請求,因此:

前端->本地​​http-> PayPal服務器->本地http->前端

前端和http的來源不同,因此對本地http的前端請求並不關心cors

暫無
暫無

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

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