Bom dia,
Estou fazendo uma requisição no servidor spring mvc utilizando Ajax no jQuery, porém gera um erro.
O método que estou buscando é este.
@RequestMapping(value="/listaDeLeis")
@ResponseBody
public List<Lei> listaDeLeis(){
return (List<Lei>) leiRepositorio.findAll();
}
A requisição via Ajax pelo jQuery é esta
function buscarDados() {
$.get("http://localhost:8080/transparencia/leis/listaDeLeis", function(data){
console.log(data);
});
}
E o erro gerado é este.
insira seu código aquiaDeLeis. Redirect from 'http://localhost:8080/transparencia/leis/listaDeLeis' to 'http://localhost:8080/transparencia/login' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.
Dei uma pesquisada no google sobre o erro e achei no site http://stackoverflow.com/ uma solução que foi
Na minha classe de configuração
@EnableWebMvc
@Configuration
@ComponentScan(basePackages="br.com.sigop.transparencia")
public class ConfiguracaoWeb extends WebMvcConfigurerAdapter {
...
// Estas são as urls que o spring security não valida
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/").setViewName("cliente/index");
registry.addViewController("/login").setViewName("cliente/login");
registry.addViewController("/sucesso").setViewName("cliente/sucesso");
registry.addViewController("/empenho").setViewName("cliente/empenho/listagem");
}
// Dizia para colocar este código
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**");
}
Creio que seja o spring security que está bloqueando pois eu tenho umas urls que não passam pelo spring security e consigo carregar os jsons que é o caso do empenho.