Вы отключаете CORS, что означает, что ваш сервер не будет сообщать веб-интерфейсу разрешить запрос любому источнику, кроме самого себя. Сообщая серверу принимать запросы от другого источника, например, localhost:4200
и методы GET, PUT, POST, DELETE и ВАРИАНТЫ, в которых ваше приложение должно работать.
Следующая настройка немного сложнее, чем должна быть, но она хорошо и аккуратно разделена.
Определение разрешенных источников должно быть помещено в application.yml, например:
cors:
allowed-origins:
- https://localhost:4200
- http://localhost:4200
- http://127.0.0.1:4200
- https://127.0.0.1:4200
Затем вы добавляете два файла, один для загрузки конфигурации ...
@Configuration
@ConfigurationProperties("cors")
public class CorsConfig {
private List<String> allowedOrigins = new ArrayList<>();
private String[] allowedMethods = {
HttpMethod.GET.name(),
HttpMethod.HEAD.name(),
HttpMethod.POST.name(),
HttpMethod.PUT.name(),
HttpMethod.DELETE.name()
};
public List<String> getAllowedOrigins() {
return allowedOrigins;
}
public String[] getAllowedOriginsArray() {
return getAllowedOrigins().toArray(new String[0]);
}
public String[] getAllowedMethods() {
return allowedMethods;
}
}
... и один, чтобы заставить его работать.
@Configuration
@EnableWebMvc
public class WebMvcConfig implements WebMvcConfigurer {
private final CorsConfig corsConfig;
public WebMvcConfig(CorsConfig corsConfig) {
this.corsConfig = corsConfig;
}
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins(corsConfig.getAllowedOriginsArray())
.allowedMethods(corsConfig.getAllowedMethods());
}
}