我正在尝试使用以下命令在控制器级别设置 CORS 配置
@CrossOrigin on Controller and Handler Method
public class AccountController {
@CrossOrigin("retreive data from DB")
@RequestMapping("/{id}")
public Account retrieve(@PathVariable Long id) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
}
我尝试过使用下面的方法,但它仅在 Spring Boot 启动时设置,并且仅在下次重新启动服务时才进行更改......
@Bean
public CorsFilter corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
// CorsConfiguration config = jHipsterProperties.getCors();
CorsConfiguration config=CorsService.fetchCorsConfigFromDb;
if (config.getAllowedOrigins() != null && !config.getAllowedOrigins().isEmpty()) {
log.debug("Registering CORS filter");
source.registerCorsConfiguration("/api/**", config);
source.registerCorsConfiguration("/management/**", config);
source.registerCorsConfiguration("/v2/api-docs", config);
}
return new CorsFilter(source);
}
Run Code Online (Sandbox Code Playgroud)
fetchCorsConfigFromDb将从数据库获取数据。仅当 Spring Boot 应用程序重新启动时,数据库中的任何更改才会反映出来......