SpringBoot 解决跨域问题

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

1.添加依赖

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

<dependency>
    <groupId>org.springframework.bootgroupId>
    <artifactId>spring-boot-starter-webartifactId>
dependency>

2.配置CORS

在Spring Boot中,可以通过在application.propertiesapplication.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:
        - http://example.com
        - http://localhost:3000
      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中的跨域问题。

你可能感兴趣的:(spring,boot,后端,java)