Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Angular e servidor

Estou com este erro no angular 2

Failed to load http://localhost:8080/des-if-web/paisRecurso/buscar: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:4200' is therefore not allowed access. The response had HTTP status code 403.

Meu código java

@CrossOrigin(origins = "http://localhost:4200/", maxAge = 3600)
@RestController
public class PaisController

O pode estar que está barrando ?

4 respostas

Acessando direto pelo browser funciona

http://localhost:8080/des-if-web/paisRecurso/buscar

solução!

Consegui da seguinte forma:

No SpringWebConfig, inclui

 @Override
public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**").allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS", "HEAD", "TRACE", "CONNECT");
}

Ai o angular faz requisições ao serviço do spring. Está correto ?

Quais parâmetros acrescentar para melhora a segurança ?

Pra ser sincero, eu achava que o @CrossOrigin era o suficiente e ali você tinha feito o esperado que era especificar o host que pode acessar seu serviço.

Vou fechar este tópico, pois entendi e consegui o que queria com a ajuda do Alberto.