0

I have created a java service to return a json object. It is working fine in postman but when i try it using the chrome browser i am getting below error

CORS policy issue

the code:

var xhttp = new XMLHttpRequest();
var url = 'http://localhost:8030/information/agent111';
xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
       console.log(this)
    }
};
xhttp.open("GET", url, true);
xhttp.setRequestHeader('Content-Type', 'application/json' );
xhttp.setRequestHeader('Access-Control-Allow-Origin', 'http://localhost:8080');
xhttp.setRequestHeader('Access-Control-Allow-Headers', 'http://localhost:8080');
xhttp.setRequestHeader('Access-Control-Allow-Methods', 'GET');
xhttp.setRequestHeader('Access-Control-Allow-Credentials', false);
xhttp.send();

Error:

enter image description here

Spring boot java service main function:

@Bean
    public WebMvcConfigurer configure() {
        return new WebMvcConfigurer() {
            @Override
            public void addCorsMappings(CorsRegistry corsRegistry) {
                corsRegistry.addMapping("/**").allowedOrigins("http://localhost:8080/");
            }
        };
    }
James Z
  • 12,209
  • 10
  • 24
  • 44
sanjay m
  • 63
  • 1
  • 16

1 Answers1

0

You need allow your controller to know about the origin of the request. To Fix cors issue add below code to your controller. You can try with wild card like

@CrossOrigin(origins = "*")

or

@CrossOrigin(origins = "http://localhost:8080" , allowCredentials = "true")
Lakshman
  • 469
  • 5
  • 12