java - @CrossOrigin 无法使用 Spring Boot。我该如何修复它?
问题描述
我正在使用 Spring Boot 为我的 Vue 应用程序制作 REST Api。这是我的路线处理程序:
@RestController
public class RootController {
@CrossOrigin
@GetMapping("/")
public String index() {
return "Hello from server";
}
}
每当我使用 axios 向我的 API 发出请求时,它都会响应:
我怎样才能解决这个问题?
解决方案
基本上,您需要使用 @CrossOrigin 注释指定来源,这让 spring 应用程序知道允许哪些所有来源向那些其余 api 发出请求。在您的情况下,假设您的客户端应用程序托管在端口 8080 上,您可以尝试用 @CrossOrigin(origins = "http://localhost:8080") 替换 @CrossOrigin。
此外,您可以尝试 @CrossOrigin(origins = " ", allowedHeaders = " ") 这将允许每个来源和所有标题。
推荐阅读
- postgresql - 如何过滤postgres中的点?
- android - 为什么即使数据类型不同,我的类构造函数也被认为具有相同的声明?
- php - 防止 foreach 循环多次执行 - PHP
- laravel - 每个客户的动态文件夹
- discord.js - 在这种情况下开始给我很多错误
- java - 源代码与 Android 的 View.java 的字节码不匹配
- html - 如何在使用 JSPDF 从 html 页面创建的 PDF 文件中创建多页
- c# - 我需要弄清楚如何使用 facebook api 细分:publisher_platform 参数
- python-3.x - Python 3 将随机亚洲字符附加到文件中,哪种编码是正确的?
- jmeter - 如何在 Jmeter 的 Header 中添加 Token?