Я использую angular для клиента и Java как серверную службу, столкнувшись с проблемой, указанной ниже. Я просмотрел все доступные онлайн-ресурсы, но безуспешно, любая помощь будет оценена по достоинству. «Доступ к XMLHttpRequest по адресу 'http://localhost: 8081 / demo / customer' from origin 'http://localhost: 4200' заблокирован политикой CORS: заголовок« Access-Control-Allow-Origin »отсутствует в запрашиваемый ресурс.
Код контроллера:
@CrossOrigin(origins = "http://localhost:4200")
@RestController
@RequestMapping("/demo")
public class CustomerController {
@Autowired
private CustomerService customerService;
@CrossOrigin(origins = "http://localhost:4200")
@GetMapping("/customer")
public List<Customer> getCustomerList() {
return customerService.get();
}
}
Код конфигурации:
@Configuration
public class CorsConfig {
@Bean
public CORSFilter corsFilter() {
CorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
CorsConfiguration config = new CorsConfiguration();
config.addAllowedOrigin("http://localhost:4200");
config.addAllowedMethod(HttpMethod.DELETE);
config.addAllowedMethod(HttpMethod.GET);
config.addAllowedMethod(HttpMethod.OPTIONS);
config.addAllowedMethod(HttpMethod.PUT);
config.addAllowedMethod(HttpMethod.POST);
((UrlBasedCorsConfigurationSource) source).registerCorsConfiguration("/**", config);
return new CORSFilter(source);
}
}