SpringBoot+Redis使用AOP防止重復提交的實現(xiàn)
表單重復提交問題一般采取前端防重復提交和后端防重復提交方案,不過應該要兩種方式都結(jié)合在一起才行,這里來說說使用AOP進行后端防重提交。
一,定義防重提交注解
我在里面定義了一個鎖住接口時間的方法,默認值為5,這里為什么要定義這么個方法呢,因為很多接口的處理時間不一樣,所以這樣靈活一點?! ?/p>
二,定義一個切面
我的方案是采用Redis來緩存提交接口的唯一標識,然后設(shè)置過期時間,唯一標識我才用接口的URL和用戶的token組合在一起就能達到唯一,用戶每發(fā)起第一次添加請求,會經(jīng)過界面,在切面獲取信息后組裝起來存入Redis,當用戶后續(xù)發(fā)起請求時,首先判斷Redis中是否緩存了這個key,如果緩存了,則證明已經(jīng)提交,于是反饋給前端,如果不存在,證明沒有提交,則存入Redis。
三,方法上加上注解
到此這篇關(guān)于SpringBoot+Redis使用AOP防止重復提交的實現(xiàn)的文章就介紹到這了,更多相關(guān)SpringBoot Redis AOP防止重復提交內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JAVA參數(shù)傳遞方式實例淺析【按值傳遞與引用傳遞區(qū)別】
這篇文章主要介紹了JAVA參數(shù)傳遞方式,結(jié)合實例形式分析了java按值傳遞與引用傳遞區(qū)別及相關(guān)操作注意事項,需要的朋友可以參考下2020-05-05