5

すべてのアクションと戻り値をログに記録するコントローラー用のログマネージャーを作成しています

私のコントローラーは次のように定義されています。

@Controller
@RequestMapping(value="/ajax/user")
public class UserController extends AbstractController{
  @RequestMapping(value="/signup")
  public @ResponseBody ActionResponse signup(@Valid SignupModel sign) {
    ActionResponse response=new ActionRespone();
    response.setMessage("This is a test message");
    return response;
  }
}

そして、各ハンドラーの出力をログに記録する HandlerInterceptor を定義しました。

@Component
public class ControllerInterceptor implements HandlerInterceptor {

    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
            throws Exception {
        return true;
    }
  public void postHandle(
            HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView)
            throws Exception {

      LogManager log=new LogManager();
      log.setMessage();//I need returned ActionResponse here
  }

    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {

    }

}

ここで log.setMessage(); を使用します。サインアップ メソッドから返される ActionResponse のメッセージ (これはテスト メッセージです) が必要です

これどうやってするの?

4

1 に答える 1