SpringBoot 解决跨域问题

在Spring Boot中,解决跨域问题可以通过配置CORS(Cross-Origin Resource Sharing)来实现。以下是一些解决跨域问题的步骤:

1.添加依赖

在pom.xml文件中添加以下依赖:

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>
</dependency>

2.配置CORS

在Spring Boot中,可以通过在application.properties或application.yml文件中配置CORS来解决跨域问题。以下是一些示例配置:

在application.properties中配置:

spring.web.cors.allowed-origins=http://example.com,http://localhost:3000
spring.web.cors.allowed-methods=GET,POST,PUT,DELETE
spring.web.cors.allowed-headers=Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers
spring.web.cors.max-age=3600

在application.yml中配置:

spring:

web:

cors:

allowed-origins:

allowed-methods:

  • GET

  • POST

  • PUT

  • DELETE

allowed-headers:

  • Content-Type

  • X-Requested-With

  • accept

  • Origin

  • Access-Control-Request-Method

  • Access-Control-Request-Headers

max-age: 3600

上述配置中,allowed-origins指定了允许跨域访问的来源,可以是一个域名或一个IP地址。allowed-methods指定了允许的HTTP方法,如GET、POST等。allowed-headers指定了允许的请求头,可以根据需要进行添加。max-age指定了预览时间,单位为秒。

3.启用CORS

在SpringBoot中,CORS默认是关闭的。需要在控制器类上添加@CrossOrigin注解来启用CORS。例如:

@RestController
@CrossOrigin(origins = "http://example.com", methods = "*", allowedHeaders = "*")
public class MyController {

// ...
}

在上述示例中,@CrossOrigin注解指定了允许跨域访问的来源、HTTP方法和请求头。可以根据需要进行修改。

通过以上步骤,可以解决Spring Boot中的跨域问题。

相关推荐
杨杨杨大侠3 小时前
都能接模型、RAG 和 MCP,Java Agent 框架到底差在哪?
java
凤山老林4 小时前
Spring Boot 启动冲刺:耗时剖析、懒加载策略与事件驱动初始化优化
spring boot·后端·python
Thinker QAQ4 小时前
并发编程(九):BlockingQueue 与 Channel——语言层的原子性、可见性与有序性
java·python·go·并发编程·channel·blockingqueue·message passing
朱涛的自习室5 小时前
我给 Gemini 4 和 DeepSeek 搞了套「末位淘汰」,AI 干活会更猛吗?(Day 3)
android·前端·后端
霸道流氓气质6 小时前
RAG 可观测性与生产监控实战:四层遥测模型、五大仪表盘与 OpenTelemetry 全链路追踪的 Java 生产级实现
java·人工智能·python
AOI小白新手上路6 小时前
autodl常用的tar 打包下载(数据集)命令手册:逐段拆解与套用模板
java·大数据·数据库
woniu_maggie7 小时前
SAP MDG主数据治理实战:从架构原理到项目实施全解析
后端
xiaoqiMikko7 小时前
Redis 实战(一):内存满了 —— 拒写、淘汰、被系统杀掉,以及删了 key 内存为什么不降(6.2.4 实测)
redis·后端
dishugj7 小时前
系统架构风险点、敏感点和权衡点的概念和区分
java·开发语言