-
1、自定義Exception要繼承RuntimeException,spring只對RuntimeException會做回滾 2、枚舉值使用,只提供get方法即可 public enum ResultEnum{ UNKNOW_ERROR(-1,"未知錯誤"), ERROR_100(100,"100錯誤"), SUCCESS(0,"成功"); private Integer code; private String msg; }查看全部
-
@ControllerAdvice public class ExceptionHandle{ @ExceptionHandler(value = Exception.class) @ResponseBody public Result handle(Exception e){ return ResultUtil.error(100,e.getMessage()); } } class ResultUtil(){ public static Result success(Object obj){ Result result = new Result(); result.setCode(0); result.setMsg("成功"); result.setData(obj); return result; } public static Result success(){ return success(null); } public static Result error(Integer code,String msg){ Result result = new Result(); result.setCode(code); result.setMsg(msg); return result; } }查看全部
-
AOP 1、引入依賴,spring-boot-starter-aop 2、建class,注釋@Aspect @Component(引入Spring容器中) @Aspect @Component public class HttpAspect{ //方法中的..表示,此方法中參數任意,只要攔截到此方法,即進行日志操作 @Before("execution(public * com.**.GirlCOntroller.girlList(..))") public void log(JoinPoint joinPoint){***} //統一切點入口 @Pointcut public void log2("execution(public * com.**.GirlCOntroller.girlList(..))"){} @After("log2()") public doAfter(){***} } 【aop中獲取HttpRequest請求數據:】 //url //method //ip //類方法-使用joinPoint對象取 //參數 【aop中獲取方法返回內容】 @AfterReturning(pointcut=***) public void do_log(Object obj){ //{}為占位 log.info("return={}",obj.toString()) }查看全部
-
@Valid-檢驗,結果返回到BindingResult對象中 public void **(@Valid Girl girl,BindingResult bindingResult){ if(bindingResult.hasErrors()){ String errmessage = bindingResult.getFieldError().getDefaultMessage(); } ... } class Girl(){ @Min(value=18,message="***") Integer age; }查看全部
-
打印出返回信息查看全部
-
log查看全部
-
//獲取http請求中相關的內容 import org.slf4j.LoggerFactory; @Aspect @Component public class HttpAspect { private final static Logger logger= LoggerFactory.getLogger(HttpAspect.class); @Before("execution(public * com.quanxian.quanxian.controller.UserController.*(..))") public void log(JoinPoint joinPoint) { ServletRequestAttributes attributes=(ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); HttpServletRequest request=attributes.getRequest(); logger.info("url={}",request.getRequestURI()); logger.info("method={}",request.getMethod()); logger.info("ip={}",request.getRemoteAddr()); logger.info("class_method={}",joinPoint.getSignature().getDeclaringTypeName()+"."+joinPoint.getSignature().getName()); logger.info("args={}",joinPoint.getArgs()); } }查看全部
-
從請求中獲取細節信息查看全部
-
定義一個公用的方法,這樣可以避免重復寫路徑查看全部
-
首先,需要在pom中引入aop的包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency> 然后建立一個類,用 @Aspect @Component 做注解 然后,在類中需要統一處理的方法,并用@before注釋一下需要應用切面的包或者類或者方法 @Before("execution(public * com.quanxian.quanxian.controller.UserController.*(..))") public void log() { System.out.println("111111"); }查看全部
-
aop請求過程查看全部
-
controller測試查看全部
-
測試斷言查看全部
-
枚舉 異常處理查看全部
-
mvn clean package -Dmaven.test.skip=true//是在打包的時候跳過單元測試查看全部
舉報
0/150
提交
取消