CORS
Cross-Origin Resource Sharing (CORS), ou Compartilhamento de recursos com origens diferentes, é um mecanismo que permite que scripts em execução interajam com recursos de origens (domínio, porta e protocolo) distintas da sua.
Alguns métodos de requisição HTTP podem interferir em dados do usuário. Nesses casos, é preciso obter uma "aprovação" antecipada. Isso é feito por meio de requisições preflight, que são requisições HTTP de método OPTIONS que fazem um envio prévio da solicitação, informando os métodos suportados e outras informações no header.
Implementando o método OPTIONS
Para dar suporte ao CORS, é preciso ter um método OPTIONS implementado.
Ao criar o método OPTIONS, utilize o mesmo path dos demais métodos e adicione um interceptor de Mock.
O interceptor deve retornar status 200 e os headers:
- 
Access-Control-Allow-Origin: aqui você pode usar '*'(qualquer origem) ou especificar a origem com permissão para acessar o recurso.
- 
Access-Control-Allow-Methods: liste os métodos que você utiliza, no formato <método>, <método>, ….
Nota:
- 
Caso você não implemente o método OPTIONS: - 
os interceptors configurados no recurso all/all serão desconsiderados e não serão herdados pelo recurso buscado; 
- 
requisições preflight serão respondidas com: chave: valor Access-Control-Allow-Origin: * Access-Control-Allow-Methods: HEAD, DELETE, POST, GET, OPTIONS, PUT, PATCH
- 
caso a requisição preflight contenha o cabeçalho Access-Control-Request-Headers, a resposta incluirá o seu conteúdo no cabeçalho de chave-valor Access-Control-Allow-Headers; 
- 
caso não exista uma configuração prévia e o header Origin não vier vazio, o valor retornado no header Access-Control-Allow-Origin será o mesmo recebido no header Origin. 
 
- 
Share your suggestions with us!
          Click here and then [+ Submit idea]