zoukankan      html  css  js  c++  java
  • spring boot集成swagger,自定义注解,拦截器,xss过滤,异步调用,定时任务案例

    本文介绍spring boot集成swagger,自定义注解,拦截器,xss过滤,异步调用,定时任务案例

    集成swagger--对于做前后端分离的项目,后端只需要提供接口访问,swagger提供了接口调用测试和各种注释的可视化web界面。
    配置swagger的扫描包路径,api信息等,见配置类SwaggerConfig。项目中遇到的下列注解都由swagger提供:
      @Api、@ApiOperation、@ApiModel、@ApiModelProperty
    访问http://localhost/swagger-ui.html#/就可以看到swagger文档,输入入参,点击try it out调接口,如图:

    自定义注解,拦截器,过滤器--spring boot提供了跨域请求的注解@CrossOrigin(当然也可以写一个全局的过滤器),详情见类UserController.class。
    项目中XssFilter类定义了跨站脚本攻击(xss攻击)过滤,用到了ESAPI安全处理的jar包。
    注解@TokenValidate实现了用户是否登录的校验,必须登录的接口加此注解;
    拦截器RequestTimeConsumingInterceptor实现了接口耗时统计;
    拦截器RepeatSubmitInterceptor实现了重复提交的校验;

    异步调用--UserController.class中注册接口提供了异步发送邮件的功能。只需要在异步调用的方法添加注解@Async和在启动类加注解@EnableAsync,
    启动项目并调接口查看执行时间可以看到异步调用已经生效。

    定时任务--启动类添加注解@EnableScheduling,用@Component放到定时任务的类上,@Scheduled放到定时任务的方法上就可以实现定时任务,见类TaskTest.class。

    项目源码地址:https://github.com/zhzhair/aopAndAnnotation-spring-boot.git

  • 相关阅读:
    $ [Contest #4]$求和 思博题
    洛谷$P1864 [NOI2009]$二叉查找树 区间$dp$
    洛谷$P4045 [JSOI2009]$密码 $dp$+$AC$自动机
    $bzoj2560$ 串珠子 容斥+$dp$
    洛谷$P1600$ 天天爱跑步 树上差分
    $loj526 [LibreOJ eta Round #4]$ 子集 图论
    $CF888G Xor-MST$ 最小生成树
    $bzoj4152 The Captain$ 最短路
    洛谷$P3645 [APIO2015]$雅加达的摩天楼 最短路
    $bzoj4722$ 由乃 搜索
  • 原文地址:https://www.cnblogs.com/zhzhair-coding/p/9824043.html
Copyright © 2011-2022 走看看