zoukankan      html  css  js  c++  java
  • Spring Boot CORS支持

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

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

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

    • RESTful Web服务应该支持跨源资源共享。
    • RESTful Web服务应用程序应允许从8080端口访问API。

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

    在控制器方法中启用CORS

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

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

    全局CORS配置

    需要定义显示的@Bean配置,以便为Spring Boot应用程序全局设置CORS配置支持。

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

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

    package com.yiibai.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;
    
    @SpringBootApplication
    public 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");
             }
          };
       }
    }
    
    Java

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

  • 相关阅读:
    safari调试iphone
    git 本地仓库关联远程仓库
    video 自动播放及循环播放问题
    webpack4系列之【3. webpack4优化记录】
    展示博客
    第三天冲刺
    第二天冲刺
    第一天冲刺
    UML设计
    Alpha项目冲刺
  • 原文地址:https://www.cnblogs.com/borter/p/12423802.html
Copyright © 2011-2022 走看看