[Spring Boot]インターセプターHandlerInterceptorのサンプル

2021年9月3日

説明
1.public interface HandlerInterceptor
カスタマイズされたハンドラー実行チェーンを可能にするワークフローインターフェース。
2.postHandle ハンドラーの実行が成功した後のインターセプトポイント。
3.preHandle ハンドラーの実行前のインターセプトポイント。
4.afterCompletion のレンダリング後のコールバック

使用例

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

@Component
public class ProductServiceInterceptor implements HandlerInterceptor {
   @Override
   public boolean preHandle
      (HttpServletRequest request, HttpServletResponse response, Object handler) 
      throws Exception {

      System.out.println("Pre Handleメソッドを呼び出す");
      return true;
   }
   @Override
   public void postHandle(HttpServletRequest request, HttpServletResponse response, 
      Object handler, ModelAndView modelAndView) throws Exception {

      System.out.println("Post Handleメソッドを呼び出す");
   }
   @Override
   public void afterCompletion
      (HttpServletRequest request, HttpServletResponse response, Object 
      handler, Exception exception) throws Exception {

      System.out.println("Request と Response が完了した");
   }
}

 

Spring Boot

Posted by arkgame