• 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服务”一章。

  • 相关阅读:
    ajax专题
    luogu P1346 电车 最短路
    luogu P1462 通往奥格瑞玛的道路 最短路
    luogu P1328 生活大爆炸版石头剪刀布
    luogu P1315 联合权值 枚举
    luogu P1156 垃圾陷阱 背包问题
    luogu P1217 回文质数 枚举
    luogu P3650 滑雪课程设计 枚举
    luogu1209 修理牛棚 贪心
    luogu P1223 排队接水 贪心
  • 原文地址:https://www.cnblogs.com/borter/p/12423802.html
Copyright © 2020-2023  润新知