Spring MVCコントローラメソッドは、メソッドが呼び出される前に注入されるさまざまなパラメータにアクセスします。同様HttpServletRequest
、HttpServletResponse
、java.security.Principal
などSpring MVCコントローラメソッドの注入メソッドの提供方法
@RequestMapping("/test")
public String test(HttpServletRequest req, Principal user){}
どのように私はcontrolelr方法で注入することができる何かを宣言することができますか?特定の場合に
@RequestMapping("/test")
public String test(MyCustomInjectable myInjectable){}
詳細:
私はいくつかのサーブレットフィルタでHttpServletRequest
を解析し、制御方式で使用されるオブジェクトを構築します。より正確には、私はJWTトークンを解析し、クレームにアクセスします。
同じリクエストオブジェクトの場合、リクエストの各フィールド値をrequest属性として設定することができ、springはリクエスト属性名に基づいてカスタムオブジェクトを自動的に作成します。後で他のリクエストでカスタムオブジェクトが必要な場合は、リクエストからセッションを取得し、セッション属性のセッションでカスタムオブジェクトを保存することができます – Pragnani