0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

コントローラーが呼び出される前後に共通処理を追加

Posted at

概要

コントローラーが呼び出される前や後に実行する共通処理を追加する際についてまとめていきます。

使用言語:Java

やりたいこと

今回やりたいことは以下の3つです。

  1. コントローラーが呼びされた際にリクエストをチェックする(今回はリクエストヘッダーのチェック)

  2. チェック処理を正常に通過した場合、リクエストに新しい値を追加

  3. コントローラーが呼び出される

  4. コントローラーが呼びされた際にリクエストをチェックする

  5. チェック処理を正常に通過した場合、リクエストに新しい値を追加

interceptor.java
public class SanpleInterceptor extends HandlerInterceptorAdapter {

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
        String requestHeader= request.getHeader(AUTHORIZATION); // ヘッダーからAuthorizationの値を取得

        // ここでrequestHeaderのAuthorizationの値のチェック処理を行う
        // チェック処理を正常に通過した場合、リクエストに追加
        request.setAttribute("add", "ok!")
        return true;
    }
}
  1. コントローラーが呼び出される
SampleControllr.java
@RestController
public class SampleController {
    
    
    @RequestMapping("/sample")
    public void sample(@RequestBody SampleRequest SampleRequest, @RequestAttribute Strin add) {
        System.out.println(add);

        // コンソール: ok!
        }
}

Interceptorで追加した"ok!"という文字列が表示されタラ成功です!

今回はリクエストに対する処理でしたが、レスポンスを返却する際の処理も追加することが可能です。
共通化できる処理は共通化できるように、実装の仕方をもう少し勉強していきたいと思います!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?