开发手册 欢迎您!
软件开发者资料库

Spring Boot - CORS支持

Spring Boot CORS支持 - 从简单和简单的步骤学习Spring Boot,从基本到高级概念,包括简介,快速入门,Bootstrapping,Tomcat部署,构建系统,代码结构,Spring Bean和依赖注入,Runners,应用程序属性,日志记录等示例,构建RESTful Web服务,异常处理,拦截器,Servlet过滤器,Tomcat端口号,Rest模板,文件处理,服务组件,Thymeleaf,使用RESTful Web服务,CORS支持,国际化,调度,启用HTTPS,Eureka服务器,服务注册Eureka,Zuul代理服务器和路由,Spring云配置服务器,Spring云配置客户端,执行器,管理服务器,管理客户端,启用Swagger2,创建Docker镜像,跟踪微服务日志,Flyway数据库,发送电子邮件,Hystrix,Web套接字,批处理服务,Apache Kafka的Spring,Twilio,单元测试用例,静止控制器单元测试,数据库处理,保护Web A.应用程序,带有JWT的OAuth2,Google云端平台,Google OAuth2登录。

跨源资源共享(CORS)是一种安全概念,允许限制在Web浏览器中实现的资源.它可以防止JavaScript代码产生或消耗不同来源的请求.

例如,您的Web应用程序在8080端口上运行,并且使用JavaScript尝试从9090开始使用RESTful Web服务港口.在这种情况下,您将在Web浏览器上面临跨源资源共享安全问题.

处理此问题需要两个要求 :

  • RESTful Web服务应该支持跨源资源共享.

  • RESTful Web服务应用程序应该允许从8080端口访问API.

在本章中,我们将详细了解如何为RESTful Web服务应用程序启用跨源请求.

在控制器方法中启用CORS

我们需要设置RESTful Web服务的来源通过对控制器方法使用 @CrossOrigin 注释. @CrossOrigin注释支持特定的REST API,而不支持整个应用程序.

@RequestMapping(value = "/products")@CrossOrigin(origins = "http://localhost:8080")public ResponseEntity getProduct() {   return null;}

全局CORS配置

我们需要定义显示的@Bean配置来设置CORS全局配置支持你的Spring Boot应用程序.

@Beanpublic WebMvcConfigurer corsConfigurer() {   return new WebMvcConfigurerAdapter() {      @Override      public void addCorsMappings(CorsRegistry registry) {         registry.addMapping("/products").allowedOrigins("http://localhost:9000");      }       };}

下面给出了在主Spring Boot应用程序中全局设置CORS配置的代码.

package com.it1352.demo; import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.context.annotation.Bean;import org.springframework.web.servlet.config.annotation.CorsRegistry;import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;@SpringBootApplicationpublic class DemoApplication {   public static void main(String[] args) {      SpringApplication.run(DemoApplication.class, args);   }   @Bean   public WebMvcConfigurer corsConfigurer() {      return new WebMvcConfigurerAdapter() {         @Override         public void addCorsMappings(CorsRegistry registry) {            registry.addMapping("/products").allowedOrigins("http://localhost:8080");         }      };   }}

现在,您可以创建一个在8080端口上运行的Spring Boot Web应用程序和您的RESTful Web服务应用程序可以在9090端口上运行.有关RESTful Web Service实现的更多详细信息,请参阅本教程中标题为使用RESTful Web服务的章节.

2009-2025 Copyright Wonhero.Com All Rights Reserved
深圳幻海软件技术有限公司 版权所有