gpt4 book ai didi

spring - 如何将 Controller 方法内部生成的变量传递给 ExceptionHandler

转载 作者:行者123 更新时间:2023-12-02 11:33:41 24 4
gpt4 key购买 nike

我需要将 Controller 方法内部生成的变量传递给异常处理程序。

变量是日志类,其中的信息由变量服务类设置。

下面的代码将解释我的意图。

@RequestMapping(value = "", method = RequestMethod.POST)
public @ResponseBody byte[] handleRequest(HttpServletRequest httpReq){
CmpLog cmpLog = new CmpLog();
cmpLog.setClient_ip(getClientIp(httpReq));
....
testService.businessLogic(cmpLog);
}



@ExceptionHandler(Exception.class)
@ResponseStatus(value=HttpStatus.BAD_REQUEST)
public @ResponseBody byte[] exceptionHandler(HttpServletRequest request, Exception e){

// How do I somehow get the cmpLog in the above method?
cmpLogService.create(cmpLog);
}

最佳答案

handleRequest中你可以做

httpReq.setAttribute("cmpLog", cmpLog ) (生成异常之前的某个位置)

并且在exceptionHandler中你可以做

CmpLog cmpLog = (CmpLog)request.getAttribute("cmpLog")

关于spring - 如何将 Controller 方法内部生成的变量传递给 ExceptionHandler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23733597/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com