本文介绍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

转载于:https://www.cnblogs.com/zhzhair-coding/p/9824043.html

spring boot集成swagger,自定义注解,拦截器,xss过滤,异步调用,定时任务案例...相关推荐

  1. Spring Boot实战:过滤器、拦截器与切片

    Spring Boot实战:过滤器.拦截器与切片 Q:使用过滤器.拦截器与切片实现每个请求耗时的统计,并比较三者的区别与联系 过滤器Filter 过滤器概念 Filter是J2E中来的,可以看做是Se ...

  2. Spring Boot集成Swagger导入YApi@无界编程

    接口APi开发现状 现在开发接口都要在类似YApi上写文档,这样方便不同的团队之间协作,同步更新接口,提高效率. 但是如果接口很多,你一个个手工在YApi去录入无疑效率很低. 如果是使用Spring ...

  3. Spring Boot 集成 Swagger 生成 RESTful API 文档

    原文链接: Spring Boot 集成 Swagger 生成 RESTful API 文档 简介 Swagger 官网是这么描述它的:The Best APIs are Built with Swa ...

  4. Spring Boot集成Swagger

    Spring Boot集成Swagger @(Swagger)[swagger, springfox, springboot] Spring Boot集成Swagger 前言 基本概述 案例 引入依赖 ...

  5. Spring Boot(5) web开发(3)拦截器、文件上传、异常处理

    Spring Boot(5) web开发(3)拦截器.文件上传.异常处理 学习视频: https://www.bilibili.com/video/BV19K4y1L7MT?p=49&spm_ ...

  6. 自定义注解+拦截器优化项目代码

    自定义注解+拦截器的优势 类似用户权限或者接口限流的需求,但并不是所有操作或者接口需要.可以使用过滤器或者拦截器,但这样就必须在配置文件里加上所有方法或者使用通配符. 所以可以采用一种比较简单灵活的方 ...

  7. springboot 自定义注解拦截器

    springboot 自定义注解拦截器 最近在工作中,发现自定义注解拦截使用起来特别方便,现在来写出来给大家看看 环境springboot 首先写一个自定义注解 package com.study.c ...

  8. 【229期】Spring Boot 使用令牌桶算法+拦截器+自定义注解+自定义异常实现简单的限流...

    点击上方"Java精选",选择"设为星标" 别问别人为什么,多问自己凭什么! 下方有惊喜,留言必回,有问必答! 每天 08:15 更新文章,每天进步一点点... ...

  9. 【转载】Spring Boot 过滤器、监听器、拦截器的使用

    关注"Java后端技术全栈" 回复"面试"获取全套大厂面试资料 在开发中用到过滤器.监听器.拦截器的场景非常多,今天就来聊聊这三者在日常开发中是如何使用的. 概 ...

最新文章

  1. NXP智能驾驶软件系统
  2. pytorch VIF(VIT 改)快了两倍
  3. java 易变变量_提高java编程质量 - (一)易变业务使用脚本语言编写
  4. jenkins复制作业_Jenkins分层作业和作业状态汇总
  5. python数据去重的函数_python pandas dataframe 去重函数的具体使用
  6. c# npoi 公式不计算_高中数学最不容易,最难计算,全高中数学所有基础性质公式归纳...
  7. Linux内核协议栈分析之网卡初始化——tcp/ip通信并不神秘(1)
  8. sprd camera 帧率设置_UnityPlayerSetting-Android 打包设置介绍
  9. cms运行php,迅睿CMS 主程序运行之后
  10. 波形分析--串口数据
  11. Illustrator中文版教程,如何在 Illustrator 中快速连接和修剪路径?
  12. 2018HN省队集训
  13. php setfield什么意思,thinkphp教程专题
  14. cocos creator 使用anysdk接入admod
  15. 给零基础初学者推荐的10个Python免费学习网站,赶快收藏
  16. C语言打字游戏(无错误警告版)
  17. Android Studio Chipmunk | 2021.2.1 Patch 1
  18. FigDraw 2. SCI 文章绘图必备 R 语言基础
  19. 聚合支付PC端-微信扫码
  20. linux清除碎片命令,Linux磁盘碎片快速清理工具Kleandisk (2)

热门文章

  1. 如何避免操作系统中多线程资源竞争的互斥与同步?
  2. @程序员,地表最强的 CSDN 原创博主大赛来了!
  3. 如何在数据库中高效实现订座功能?
  4. 高可用高性能负载均衡软件HAproxy详解指南-第三章:HAproxy实例
  5. Mac下firefox ssl_error_ssl_disabled
  6. JBDC更新计数行以及调用存储过程返回多个结果集
  7. hexo绑定个人域名
  8. 阿里云发布Quick BIV3.0,人人都能轻松进行在线数据分析
  9. 利用opencv进行移动物体检测
  10. 伊利诺伊大学厄巴纳-香槟分校