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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM