gpt4 book ai didi

@CrossOrigin Spring Boot 中的正则表达式

转载 作者:行者123 更新时间:2023-12-02 11:41:50 25 4
gpt4 key购买 nike

我正在尝试定义origins允许执行 REST 服务。我正在研究 Java(1.8)、SpringBoot (1.5.9)。我尝试通过两种方式实现 CORS:

@CrossOrigin(origins = "http://localhost:8080")
@RequestMapping(value="/questions")
public String readCSV() throws IOException, URISyntaxException {
/** Some Logic **/
return str;
}

或者

@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {
String origins = "http://localhost:8080";
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedMethods("GET", "PUT", "POST")
.allowedOrigins(origins)
.maxAge(3600);
super.addCorsMappings(registry);
}
}

以上两种情况都有效。但我想改变这一点http://localhost:8080一些有意义的正则表达式,它将匹配某些特定的域名,但子域​​名和端口号可能会有所不同。
例如,假设所需的域名innovation.com,而少数接受的网址we.innovation.com:8081 my.innovation.com:8090
问题是,每当我放置一些正则表达式而不是静态 URL 时,它都会抛出 CORS 错误,并且不允许访问该服务。即使在我使用允许任何有效 url 的正则表达式的情况下,它也会阻止 localhost:8080 .
我尝试过正则表达式,例如:
^((?!-)[A-Za-z0-9-]{1,63}(?<!-)\\.)+innovation.com(:\d{2,4})
^https?://(?:[^./@]+\.)*domain\.com(?![^/])
^(http[s]:\/\/)?([A-Za-z0-9-]{1,63}\\.)+innovation.com(:\d{2,4})

最佳答案

关于@CrossOrigin Spring Boot 中的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48824534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com