SpringBoot : How to allow cross origin ajax calls to Spring application

How to allow cross origin ajax calls to Spring application

Add the following class to your Spring or Spring Boot application. After adding this class you will be able to make ajax calls to your application.

package com.ekiras.filter;

import org.springframework.stereotype.Component;

import javax.servlet.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@Component
public class CorsFilter implements Filter {

    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
        HttpServletResponse response = (HttpServletResponse) res;
        response.setHeader("Access-Control-Allow-Origin", "*");
        response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
        response.setHeader("Access-Control-Max-Age", "3600");
        response.setHeader("Access-Control-Allow-Headers", "x-requested-with");
        chain.doFilter(req, res);
    }

    public void init(FilterConfig filterConfig) {}

    public void destroy() {}

}

Now you can hit the ajax calls like following

$.ajax({
   method:'GET',
   url:'http://someurl',
   success:function(data){
       console.log(data);
   },
   error:function(error){
       console.log(error);
   }
})


No comments :

Post a Comment