аннотация @CrossOrigin ("*") не работает - PullRequest
3 голосов
/ 19 июня 2020

У меня была ошибка «Доступ к XMLHttpRequest в 'http://localhost: 8081 / products / getPro ' from origin 'http://localhost: 4200 ' заблокирован политикой CORS : Заголовок «Access-Control-Allow-Origin» отсутствует в запрошенном ресурсе », хотя я добавил аннотацию @CrossOrigin (« * ») в свое приложение весенней загрузки

@RestController
@RequestMapping("/products")
@CrossOrigin("*")
 public class ProductController {

  @Autowired
  private ProductService productService;

 @PostMapping(value = "/getPro", consumes = {"application/json"}, produces = 
    {"application/json"})
 public ResponseEntity<?> getPro(@RequestBody Product product){
    return this.productService.getPro(product);
  }

В моем Frontend I иметь:

export class ProductService {
  public productModel : Product 
  private baseUrl = 'http://localhost:8081';
  constructor(private http:HttpClient) { }
  getPro () {
  return this.http.post<Product>(this.baseUrl + "/products/getPro", 
   JSON.stringify(this.productModel));
  }
  }

Кто-нибудь может мне помочь?

PS: Я использую это приложение как имитацию клиента. Я имею в виду, что на самом деле я вызываю другое приложение с FeignClient! Может в этом проблема?

1 Ответ

0 голосов
/ 19 июня 2020

Я предлагаю вам избавиться от @crossOrigin.

Вы можете сделать следующее в своем конфигурационном файле

@Configuration
@EnableWebMvc
public class WebConfig implements WebMvcConfigurer {
 
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**");// Your allowed paths here
    }
}

Я порекомендую вам переместить все это в angular только с использованием обратного прокси.

{
  "/api": {
    "target": "http://localhost:8081",
    "secure": false
  }
}

См. проект github здесь. https://github.com/vohra01/parking-demo-SG/blob/master/IdeaProjects/parking-demo/parking-ui-app/proxy.conf.json

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...