ParamNotNullAspect.java 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. package com.sooka.common.aop;
  2. import com.sooka.common.annotation.ParamNotNull;
  3. import com.sooka.common.exception.ApiException;
  4. import org.apache.commons.lang.StringUtils;
  5. import org.aspectj.lang.ProceedingJoinPoint;
  6. import org.aspectj.lang.annotation.Around;
  7. import org.aspectj.lang.annotation.Aspect;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.stereotype.Component;
  10. import javax.servlet.http.HttpServletRequest;
  11. @Component
  12. @Aspect
  13. public class ParamNotNullAspect {
  14. @Autowired
  15. private HttpServletRequest request;
  16. /**参数是否为空统一校验*/
  17. @Around("@annotation(com.sooka.common.annotation.ParamNotNull) && @annotation(paramNotNull)")
  18. public Object advice(ProceedingJoinPoint joinPoint,ParamNotNull paramNotNull) throws Throwable{
  19. String[] paraName = paramNotNull.parameter().split(",");
  20. for (String para : paraName) {
  21. String parameter2 = request.getParameter(para);
  22. if (StringUtils.isEmpty(parameter2)) {
  23. throw new ApiException("参数[" + para + "]不能为空");
  24. }
  25. }
  26. return joinPoint.proceed();
  27. }
  28. }