版本:v >= 1.6.0
在没有@AutoCheck的时候,要对上面的一些注解修饰的属性进行核查,要进行硬编码,而且目前大部分的项目都是spring项目,因此很有必要跟spring结合,在添加该注解之后,修饰的方法或者函数在调用的时候,其中参数会被自动核查到。

  1. /**
  2. * 修饰函数和参数,用于属性的核查
  3. *
  4. * <p>
  5. * <ul>
  6. * <li>1.修饰类:则会核查类下面所有函数的所有参数</li>
  7. * <li>2.修饰函数:则会核查函数对应的所有参数</li>
  8. * </ul>
  9. * @author shizi
  10. * @since 2020/6/25 11:20 AM
  11. */
  12. @Documented
  13. @Retention(RetentionPolicy.RUNTIME)
  14. @Target({ElementType.TYPE, ElementType.METHOD})
  15. public @interface AutoCheck {
  16. /**
  17. * 同{@link AutoCheck#group()}
  18. */
  19. String value() default MkConstant.DEFAULT_GROUP;
  20. /**
  21. * 核查的分组
  22. */
  23. String group() default MkConstant.DEFAULT_GROUP;
  24. }

配置

在使用该注解的时候,需要先让spring扫描到我们的内部配置

  1. @Import({MkAop.class})
  2. @Configuration
  3. public class MkConfiguration {
  4. }

使用

如下

  1. @AutoCheck
  2. @Slf4j
  3. @RequestMapping("${api-prefix}/project/code")
  4. @RestController
  5. public class ProjectCodeController {
  6. ...
  7. @AutoCheck
  8. @GetMapping("download/projectCode/{appId}")
  9. public void downloadProjectCode(@PathVariable("appId") Long appId, HttpServletRequest request, HttpServletResponse response) {
  10. ...
  11. }
  12. ...
  13. }