簡體   English   中英

存在“ Access-Control-Allow-Origin”標頭

[英]'Access-Control-Allow-Origin' header is present

我有一個帶功能的簡單控制器。

@RestController
@CrossOrigin(origins = "http://localhost:4200", allowedHeaders = "*")
@RequestMapping("/api")
public class DockerController {

  @Autowired
private DockerService dockerService;

  @PostMapping("/docker/container/{containerName}/pause")
public boolean pauseContainer(@PathVariable String containerName) {
    dockerService.pauseContainer(containerName);
    return true;
}

}

但是當我嘗試從有角度的應用程序中運行它時

zone.js:2969 POST http:// localhost:8080 / api / docker / container / Env666 / pause 403() http:// localhost:8080 / api / docker / container / Env666 / pause :否'Access-Control- Allow-Origin標頭出現在請求的資源上。 因此,不允許訪問源' http:// localhost:4200 '。 響應的HTTP狀態碼為403。

在使用服務功能之后,這種情況開始發生。

我成功地重現了CORS錯誤,這與Spring CrossOrigin Javadoc所說的相反:

默認情況下,受支持的方法與控制器方法所映射的方法相同。

我必須在CrossOrigin批注中手動指定方法:

@CrossOrigin(origins="http://localhost:4200", allowedHeaders="*", methods={RequestMethod.POST})

暫無
暫無

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

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