Reputation: 6180
I am trying to write some Spring code in Groovy from one of Spring's tutorials. When I write the following code in Groovy:
@Component
public class SimpleCORSFilter 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, PUT, OPTIONS, DELETE");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
chain.doFilter(req, res);
}
public void init(FilterConfig filterConfig) {}
public void destroy() {}
}
@Component
class SimpleCORSFilter implements Filter {
void doFilter(ServletRequest req, ServletResponse, FilterChain chain)
throws IOException, ServletException {
HttpServletResponse response = res as HttpServletResponse
response.setHeader("Access-Control-Allow-Origin", "*")
chain.doFilter(req, res)
}
void init (FilterConfig filterConfig) {}
void destroy() {}
}
I get the following error
Can't have an abstract method in a non-abstract class. The class 'com.myproject.main.SimpleCORSFilter' must be declared abstract or the method 'void doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)' must be implemented.
@ line X, column Y.
@Component
^
I have implemented the abstract doFilter
method. Why is it not valid?
How can I fix this?
Upvotes: 0
Views: 201
Reputation: 6192
You have a syntax error here
void doFilter(ServletRequest req, ServletResponse, FilterChain chain)
Should be
void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
Upvotes: 1