在 Spring Interceptor 中检查 HTTP 响应状态代码,可以通过实现 HandlerInterceptor
接口并重写 afterCompletion
方法来实现。下面是一个简单的示例:
首先,创建一个实现 HandlerInterceptor
接口的类:
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
public class CustomInterceptor implements HandlerInterceptor {
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception exception) throws Exception {
int statusCode = response.getStatus();
// 在这里检查 statusCode,并根据需要执行相应的操作
}
// 其他方法的实现(如:preHandle,postHandle)
}
接下来,将创建的自定义拦截器注册到 Spring 应用中:
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new CustomInterceptor()).addPathPatterns("/**");
}
}
在这个示例中,我们创建了一个名为 CustomInterceptor
的类,实现了 HandlerInterceptor
接口,并重写了 afterCompletion
方法。在该方法中,我们可以通过 response.getStatus()
获取 HTTP 响应状态代码。然后,我们可以根据需要执行相应的操作。
最后,我们将 CustomInterceptor
注册到 Spring 应用中,以便在每个请求中调用它。
请注意,这个示例仅用于演示如何在 Spring Interceptor 中检查 HTTP 响应状态代码。在实际应用中,您可能需要根据您的需求进行相应的调整。
领取专属 10元无门槛券
手把手带您无忧上云