首页 > 解决方案 > @CrossOrigin 无法使用 Spring Boot。我该如何修复它?

问题描述

我正在使用 Spring Boot 为我的 Vue 应用程序制作 REST Api。这是我的路线处理程序:

@RestController
public class RootController {

    @CrossOrigin
    @GetMapping("/")
    public String index() {
        return "Hello from server";
    }
}

每当我使用 axios 向我的 API 发出请求时,它都会响应:在此处输入图像描述

我怎样才能解决这个问题?

标签: javaspring-bootcors

解决方案


基本上,您需要使用 @CrossOrigin 注释指定来源,这让 spring 应用程序知道允许哪些所有来源向那些其余 api 发出请求。在您的情况下,假设您的客户端应用程序托管在端口 8080 上,您可以尝试用 @CrossOrigin(origins = "http://localhost:8080") 替换 @CrossOrigin。

此外,您可以尝试 @CrossOrigin(origins = " ", allowedHeaders = " ") 这将允许每个来源和所有标题。


推荐阅读