Java 如何在不重写方法的情况下检查Rest控制器中每个Rest API中的授权令牌

Java 如何在不重写方法的情况下检查Rest控制器中每个Rest API中的授权令牌,java,spring-boot,api,maven,spring-restcontroller,Java,Spring Boot,Api,Maven,Spring Restcontroller,我正在Spring Boot(Maven)中构建一个Rest控制器,我想让我的API有一个授权承载令牌,如果令牌无效,我可以在其中发送401响应,但我不想手动签入我创建的每个API,是否有一种方法可以让我在实际运行API之前运行一个检查令牌是否有效的方法 如果令牌无效,我想发送一个401,而不是API参与的目的。您可以创建一个自定义筛选器(实现javax.servlet.filter),它将拦截每个传入的请求,您可以在其中检查请求是否有授权头 @Component public class Au

我正在Spring Boot(Maven)中构建一个Rest控制器,我想让我的API有一个
授权承载
令牌,如果令牌无效,我可以在其中发送401响应,但我不想手动签入我创建的每个API,是否有一种方法可以让我在实际运行API之前运行一个检查令牌是否有效的方法


如果令牌无效,我想发送一个401,而不是API参与的目的。

您可以创建一个自定义筛选器(实现
javax.servlet.filter
),它将拦截每个传入的请求,您可以在其中检查请求是否有授权头

@Component
public class AuthFilter implements Filter {
    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        HttpServletRequest req = (HttpServletRequest) request;
        if (req.getHeader("Authorization") != null){ //or replace with a further fine grained condition
            chain.doFilter(request, response);
        } else {
            HttpServletResponse res = (HttpServletResponse) response;
            res.setStatus(401);
        }
    }
}

我将在哪里添加此组件?谢谢你的回复@jaffer_说,您只需要创建这个用
@Component
注释的自定义过滤器类。弹簧靴将负责此接线。没有其他需要。