国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

今天用AI搞一個防止接口重復提交注解

人工智能
接口冪等性是指無論調用接口的次數是一次還是多次,對于同一資源的操作都只會產生一次結果。換句話說,多次重復調用相同的接口請求應該具有與單次請求相同的效果,不會導致不一致或副作用的發生。

哈嘍,大家好,我是了不起。

接口冪等性是指無論調用接口的次數是一次還是多次,對于同一資源的操作都只會產生一次結果。換句話說,多次重復調用相同的接口請求應該具有與單次請求相同的效果,不會導致不一致或副作用的發生。

今天我們使用AI幫我們去創建一個自定義注解,可以防止接口30秒內的重復請求,并采用Redis作為緩存。

提問

話不多說,直接提問:

圖片

等待數分鐘后。。。

1.創建自定義注解 其中包括接口保護時長,開啟防止重復提交保護等。

圖片

2.然后創建攔截器

圖片

這里我們貼出攔截器的核心代碼:

@Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        if (handler instanceof HandlerMethod) {
            HandlerMethod handlerMethod = (HandlerMethod) handler;
            RepeatSubmit annotation = handlerMethod.getMethodAnnotation(RepeatSubmit.class);
            if (annotation != null && annotation.enable()) {
                String key = buildKey(request);
                if (StringUtils.hasText(redisTemplate.opsForValue().get(key))) {
                    response.getWriter().write("repeat request, please try again later!");
                    return false;
                } else {
                    redisTemplate.opsForValue().set(key, Arrays.toString(request.getInputStream().readAllBytes()), annotation.timeout(), TimeUnit.SECONDS);
                }
            }
        }
        return true;
    }
 //創建redis 緩存key
    private String buildKey(HttpServletRequest request) throws IOException, NoSuchAlgorithmException {
        String key = useRequestMD5 ? hashRequest(request) : request.getRequestURI();
        return "repeat-submit:" + key;
    }

 //對請求做hash運算
    private String hashRequest(HttpServletRequest request) throws IOException, NoSuchAlgorithmException {
        byte[] hashBytes = MessageDigest.getInstance("MD5").digest(request.getInputStream().readAllBytes());
        StringBuilder sb = new StringBuilder();
        for (byte b : hashBytes) {
            sb.append(String.format("%02x", b));
        }
        return sb.toString();
    }

3.注冊攔截器

圖片

最后給出的解釋與使用方法。

圖片

上面就是最關鍵的代碼了。

接入Redis

下面我們接入Redis。最精簡的配置版本:

spring:
  data:
    redis:
      host: 127.0.0.1 
      port: 6379

接口使用注解

@RestController
public class RepeatTestController {

    @RepeatSubmit
    @GetMapping("/hello/mono1")
    public Mono<String> mono(){
        return Mono.just("Hello Mono -  Java North");
    }

    @RepeatSubmit
    @PostMapping ("/hello/mono1")
    public Mono<String> mono1(@RequestBody User user){
        return Mono.just("Hello Mono -  Java North-"+user.getName());
    }
}

本地起一個Redis,然后啟動本地的SpringBoot項目進行測試。

圖片

本地接口測試:30秒內重復請求會需要直接被攔截

圖片

Redis中緩存的KEY如下:

圖片

以上就是利用AI為我們生成的一個簡單的接口短時間內防止重復提交的注解代碼!

相關代碼在文章末尾,需要的話可以白嫖哈!

接口冪等性解決方案

下面問一下接口冪等性解決方案,

圖片

關于這個回答,大家覺得怎么樣?

相關代碼鏈接,歡迎來嫖:

https://github.com/javatechnorth/java-study-note/tree/master/isv-repeat-submit-spring-boot-starter

責任編輯:武曉燕 來源: Java技術指北
相關推薦

2022-11-11 07:34:43

2022-11-17 07:43:13

2022-11-15 07:39:48

2022-06-10 13:03:44

接口重試while

2024-06-06 08:46:37

2023-08-24 08:02:19

冪等性API請求

2025-10-16 08:25:31

2021-04-28 14:31:35

Dubbo接口日志

2013-11-13 11:01:14

表單表單重復提交表單策略

2013-11-13 14:39:53

表單提交開發

2025-07-14 00:00:00

接口重試MQTT冪等性

2025-03-11 08:20:58

2025-11-07 08:05:18

2024-06-21 09:19:45

代碼接口重復請求開發

2020-07-17 07:59:55

數據

2024-11-08 15:56:36

2024-11-07 10:55:26

2022-06-21 14:44:38

接口數據脫敏

2022-05-16 10:45:22

Redis接口限流緩存

2020-06-22 07:47:46

提交面試官訂單
點贊
收藏

51CTO技術棧公眾號

免费不卡在线观看| 欧美色视频日本版| 成人高清av在线| 久久久久久久久影视| 久久91精品久久久久久秒播| 欧美做受777cos| 国产亚洲欧美日韩在线一区| 91视频国产高清| 偷拍中文亚洲欧美动漫| 亚洲欧美激情精品一区二区| 日本电影免费看| 久久精品国语| 国产黄色激情视频| 99久久久久国产精品| 亚洲网址你懂得| 粉嫩粉嫩芽的虎白女18在线视频| 精品国产精品自拍| 黄页网站在线| 欧美高清激情视频| av在线麻豆| 亚洲精品乱码久久久久久按摩观| 97福利网站在线观看视频| 欧美午夜无遮挡| 2021中文字幕在线| 久久久久久久久久久亚洲| 国产精品久久久久久久久久10秀| 日韩一区免费观看| 在线看一区二区| 青青影院一区二区三区四区| 日韩特级毛片| 免费一级欧美片在线观看| 日本一区美女| 国产精品69毛片高清亚洲| 欧美喷潮久久久xxxxx| 欧美精选视频一区二区| 亚洲视频狠狠干| 在线观看视频网站你懂得| 精品成人一区二区三区| 久久精品系列| 色一区二区三区| 久久久国产一区二区三区| 久久精品一区蜜桃臀影院| 欧美电影院免费观看| 亚洲乱码国产乱码精品天美传媒| 99精品久久久久久| 亚洲精品电影在线观看| 日本午夜精品电影| 欧美性极品xxxx做受| 色哟哟精品视频| 99久久精品国产观看| 国产视频第一区| 日韩天堂在线视频| 98在线视频| 大胆欧美人体视频| 国产精品一二| 国产一区二区不卡视频在线观看| xf在线a精品一区二区视频网站| 免费福利在线视频| 亚洲一线二线三线久久久| 国产传媒在线观看| 亚洲最大的成人网| 国产精品色呦呦| 97se综合| 欧美三级网色| 精品成人av一区| 66精品视频在线观看| 综合一区中文字幕| 国产精品你懂的在线| 在线观看的毛片| 91精品在线免费| 91专区在线观看| 成人午夜视频免费在线观看| 亚洲一区二区美女| 精品中文字幕一区二区三区| 欧美另类网站| 一本到高清视频免费精品| 精品丝袜久久| 欧美亚洲在线观看| 国产sm精品调教视频网站| 国产美女永久无遮挡| 欧美日韩一级二级三级| 国产亚洲精品美女久久久久久久久久| 久久精品xxx| 久久久久国色av免费看影院| japanese色国产在线看视频| 国产高清精品一区二区| 亚洲深夜影院| 天堂а在线中文在线无限看推荐| 66m—66摸成人免费视频| 久久夜色精品国产欧美乱极品| 色戒汤唯在线观看| 日韩影片在线播放| 777xxx欧美| 最新国产乱人伦偷精品免费网站| 在线观看成人网| 成人看片视频| 久久视频免费观看| 欧美日韩在线资源| 国产99午夜精品一区二区三区| 亚洲国产精品久久久久婷婷884 | 久久精品女人| 精品国产a一区二区三区v免费| 一个人免费观看视频www在线播放 一个人免费视频www在线观看 | 欧美成人精品1314www| 久久久久久美女精品| 欧美一区二区三区视频在线观看| 亚洲一区二区成人| 精品一区二区三区亚洲| 欧美日韩亚洲一二三| 日韩欧美一区二区视频在线播放 | 蜜臀久久99精品久久久酒店新书| 欧美一区二区三区在线播放 | 狠狠v欧美ⅴ日韩v亚洲v大胸 | 日韩欧美在线网站| 一区二区三区在线免费观看| 国产精品一区一区| 99在线视频精品| 日本大片在线观看| 欧美在线影院在线视频| 亚洲乱码国产乱码精品精天堂| 欧美裸体bbwbbwbbw| 亚洲h精品动漫在线观看| 成人黄色av电影| 国产欧美精品一区二区色综合| 素人啪啪色综合| 极品美女一区| 电影在线观看一区| 人在线成免费视频| 在线一区av| 日韩美女在线| 国产一区影院| 国产一区二区自拍| 久久精品国产美女| 成人免费看片视频在线观看| 久久久精品在线视频| 国产中文字幕第一页| 高清欧美性猛交xxxx| 国产精品毛片a∨一区二区三区|国 | 国产精品一区二区在线播放| heyzo一本久久综合| 亚洲另类中文字| 亚洲男人的天堂在线aⅴ视频| 精品久久久久久最新网址| 日韩免费观看av| 日韩的一区二区| 久久免费国产精品1| 亚洲精品人成| www视频在线免费观看| 成人中文在线| 久久久精品中文字幕麻豆发布| 精品av久久707| 精品国产乱码久久久久久88av| 一级二级在线观看| 日韩一区电影| 91久久免费观看| 色综合久久中文综合久久97| 久久久久久网站| 国产精品无码专区av在线播放| 成人黄色免费观看| 国产sm精品调教视频网站| 亚洲变态欧美另类捆绑| 中文字幕亚洲专区| 肉大捧一出免费观看网站在线播放| av在线首页| 一区二区在线| 色婷婷国产精品久久包臀| 最新国产精品拍自在线播放| 97视频在线观看视频免费视频 | 91成人免费网站| 亚洲ai欧洲av| 亚洲精品小区久久久久久| 久久中文亚洲字幕| 国产精品啊啊啊| 日韩一级大片在线| 国产一区视频免费观看| 国产亚洲一卡2卡3卡4卡新区 | 国v精品久久久网| 欧美一级高清免费播放| 最猛黑人系列在线播放| 国内精品久久久久久久影视蜜臀 | 尤物网在线观看| 日本中文字幕一区二区| 欧美色网在线| 欧美国产日韩亚洲一区| 中文字幕精品久久| 深夜福利视频在线免费观看| 日本在线播放一区二区三区| 国产精品99久久久久久有的能看| 久久综合久久八八| 1024免费在线视频| 蜜臀久久久久久久| 女主播福利一区| 国产精品欧美激情在线播放| 999久久久| 日本蜜桃在线观看视频| 精品一区二区在线视频| 国产精品入口尤物| 亚洲三级在线| 欧美丰满少妇xxxxx高潮对白| 国产网站免费观看|