[Bug修复](master): 修复filter里面发现的异常不能成功捕获的问题
如题
parent
927a58249b
commit
716878f6a5
@ -0,0 +1,25 @@
|
||||
package com.baiyee.adcallback.api.filter;
|
||||
|
||||
import com.baiyee.adcallback.api.handler.RequestIllegalArgumentException;
|
||||
import org.omg.CORBA.UserException;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
@RestController
|
||||
public class ExceptionController {
|
||||
|
||||
@RequestMapping(CommonConstant.ERROR_CONTROLLER_PATH)
|
||||
public void handleException(HttpServletRequest request){
|
||||
throw new RequestIllegalArgumentException((String) request.getAttribute("filterError"));
|
||||
}
|
||||
|
||||
public class CommonConstant {
|
||||
|
||||
/**
|
||||
* 异常处理 controller request url
|
||||
*/
|
||||
public static final String ERROR_CONTROLLER_PATH = "/error/throw";
|
||||
}
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
package com.baiyee.adcallback.api.handler;
|
||||
|
||||
import com.baiyee.adcallback.api.common.CommonResponse;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.ControllerAdvice;
|
||||
import org.springframework.web.bind.annotation.ExceptionHandler;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
|
||||
@Slf4j
|
||||
@ControllerAdvice
|
||||
public class GlobalExceptionHandler {
|
||||
|
||||
|
||||
/**
|
||||
* 检查出有 SQL 注入风险的异常
|
||||
* @param requestIllegalArgumentException SQL 注入异常
|
||||
* @return 返回异常给前端
|
||||
*/
|
||||
@ResponseBody
|
||||
@ExceptionHandler(RequestIllegalArgumentException.class) //该类为自定义异常类
|
||||
public CommonResponse checkSQLInjectionException(RequestIllegalArgumentException requestIllegalArgumentException){
|
||||
log.error("发生异常:{}",requestIllegalArgumentException.getMessage());
|
||||
return CommonResponse.createByErrorMessage(requestIllegalArgumentException.getMessage());
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
package com.baiyee.adcallback.api.handler;
|
||||
|
||||
/**
|
||||
* 检查请求中是否存在不合法 SQL注入 参数的异常
|
||||
*/
|
||||
public class RequestIllegalArgumentException extends RuntimeException{
|
||||
|
||||
public RequestIllegalArgumentException(String message){
|
||||
super(message);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue