Table des matières
Question
Ensuite, nous nous connectons à Redis. La version de configuration la plus simplifiée
Démarrez un Redis localement, puis démarrez le projet SpringBoot local pour les tests,
Maison Périphériques technologiques IA Aujourd'hui, nous utilisons l'IA pour créer une interface permettant d'éviter la soumission répétée d'annotations.

Aujourd'hui, nous utilisons l'IA pour créer une interface permettant d'éviter la soumission répétée d'annotations.

Jun 05, 2023 pm 01:33 PM
接口 ai 幂等性

Bonjour à tous, je suis incroyable.

Que l'interface soit appelée une ou plusieurs fois, l'idempotence de l'interface garantit que les opérations sur la même ressource ne produiront que le même résultat. Les appels répétés à la même demande d'interface doivent avoir les mêmes résultats qu'une seule demande et ne doivent pas provoquer d'incohérence ou d'effets secondaires.

Aujourd'hui, nous avons utilisé l'intelligence artificielle pour créer une annotation personnalisée afin d'éviter que l'interface ne soit demandée plusieurs fois en 30 secondes, et avons utilisé Redis comme cache.

Question

Sans plus attendre, il suffit de demander :

Aujourdhui, nous utilisons lIA pour créer une interface permettant déviter la soumission répétée dannotations.

# 🎜 🎜#Attendez quelques minutes. . .

1. Créez des annotations personnalisées, y compris la durée de la protection de l'interface, l'activation de la protection contre les soumissions répétées, etc.

Aujourdhui, nous utilisons lIA pour créer une interface permettant déviter la soumission répétée dannotations.

2. Créez ensuite un intercepteur

. Aujourdhui, nous utilisons lIA pour créer une interface permettant déviter la soumission répétée dannotations.

Ici, nous publions le code principal de l'intercepteur :

@Overridepublic 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 缓存keyprivate 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();}
Copier après la connexion
3. Enregistrez l'intercepteur

#🎜 🎜#

Aujourdhui, nous utilisons lIA pour créer une interface permettant déviter la soumission répétée dannotations.

L'explication et l'utilisation donnée à la fin.

Aujourdhui, nous utilisons lIA pour créer une interface permettant déviter la soumission répétée dannotations.


Ce qui précède est le code le plus critique.

Connectez-vous à Redis

Ensuite, nous nous connectons à Redis. La version de configuration la plus simplifiée

spring:data:redis:host: 127.0.0.1 port: 6379
Copier après la connexion

Annotations d'utilisation de l'interface

@RestControllerpublic 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());}}</string></string>
Copier après la connexion

Démarrez un Redis localement, puis démarrez le projet SpringBoot local pour les tests,

# 🎜 🎜#

Aujourdhui, nous utilisons lIA pour créer une interface permettant déviter la soumission répétée dannotations.Test de l'interface locale : les requêtes répétées dans les 30 secondes devront être interceptées directement

#🎜 🎜#

La CLÉ mise en cache dans Redis est la suivante : Aujourdhui, nous utilisons lIA pour créer une interface permettant déviter la soumission répétée dannotations.

Le le code correspondant se trouve à la fin de l'article, si nécessaire, vous pouvez avoir des relations sexuelles gratuitement ! Aujourdhui, nous utilisons lIA pour créer une interface permettant déviter la soumission répétée dannotations.

Solution d'idempotence d'interface

Interrogons-nous sur la solution d'idempotence d'interface,

#🎜 🎜##🎜🎜 #

Que pensez-vous de cette réponse ?

Liens de codes associés, bienvenue sur : Aujourdhui, nous utilisons lIA pour créer une interface permettant déviter la soumission répétée dannotations.

https://www.php.cn/link/94c0915ab3bcbc61c1c61624dd6d7cd5

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment afficher correctement le 'Jingnan Mai Round Body' installé localement sur la page Web? Comment afficher correctement le 'Jingnan Mai Round Body' installé localement sur la page Web? Apr 05, 2025 pm 10:33 PM

En utilisant récemment des fichiers de police installés localement dans les pages Web, j'ai téléchargé une police gratuite à partir d'Internet et je l'ai installée avec succès dans mon système. Maintenant...

La production de pages H5 nécessite-t-elle une maintenance continue? La production de pages H5 nécessite-t-elle une maintenance continue? Apr 05, 2025 pm 11:27 PM

La page H5 doit être maintenue en continu, en raison de facteurs tels que les vulnérabilités du code, la compatibilité des navigateurs, l'optimisation des performances, les mises à jour de sécurité et les améliorations de l'expérience utilisateur. Des méthodes de maintenance efficaces comprennent l'établissement d'un système de test complet, à l'aide d'outils de contrôle de version, de surveiller régulièrement les performances de la page, de collecter les commentaires des utilisateurs et de formuler des plans de maintenance.

Où obtenir le matériel pour la production de pages H5 Où obtenir le matériel pour la production de pages H5 Apr 05, 2025 pm 11:33 PM

Les principales sources de matériel H5 Page sont: 1. Site Web de matériel professionnel (payé, de haute qualité, Copyright clair); 2. Matériel fait maison (unicité élevée, mais qui prend du temps); 3. Bibliothèque de matériaux open source (gratuit, doit être soigneusement dépisté); 4. site Web d'image / vidéo (le droit d'auteur vérifié est requis). De plus, le style de matériau unifié, l'adaptation de la taille, le traitement de la compression et la protection des droits d'auteur sont des points clés auxquels il faut faire attention.

Comment sélectionner un élément enfant avec l'élément de nom de première classe via CSS? Comment sélectionner un élément enfant avec l'élément de nom de première classe via CSS? Apr 05, 2025 pm 11:24 PM

Lorsque le nombre d'éléments n'est pas fixé, comment sélectionner le premier élément enfant du nom de classe spécifié via CSS. Lors du traitement de la structure HTML, vous rencontrez souvent différents éléments ...

Comment utiliser CSS et Flexbox pour implémenter la disposition réactive des images et du texte à différentes tailles d'écran? Comment utiliser CSS et Flexbox pour implémenter la disposition réactive des images et du texte à différentes tailles d'écran? Apr 05, 2025 pm 06:06 PM

Implémentation de dispositions réactives à l'aide de CSS lorsque nous voulons implémenter des modifications de mise en page sous différentes tailles d'écran dans la conception Web, CSS ...

Pourquoi les marges négatives ne prennent-elles pas effet dans certains cas? Comment résoudre ce problème? Pourquoi les marges négatives ne prennent-elles pas effet dans certains cas? Comment résoudre ce problème? Apr 05, 2025 pm 10:18 PM

Pourquoi les marges négatives ne prennent-elles pas effet dans certains cas? Pendant la programmation, les marges négatives dans CSS (négatif ...

Quels scénarios d'application conviennent à la production de pages H5 Quels scénarios d'application conviennent à la production de pages H5 Apr 05, 2025 pm 11:36 PM

H5 (HTML5) convient aux applications légères, telles que les pages de campagne de marketing, les pages d'affichage des produits et les micro-Websites de promotion d'entreprise. Ses avantages résident dans la plateformité multi-plateaux et une riche interactivité, mais ses limites résident dans des interactions et des animations complexes, un accès aux ressources locales et des capacités hors ligne.

Comment utiliser l'attribut de forme-extérieur de CSS pour réaliser l'effet d'affichage du raccourcissement progressivement du texte? Comment utiliser l'attribut de forme-extérieur de CSS pour réaliser l'effet d'affichage du raccourcissement progressivement du texte? Apr 05, 2025 pm 10:54 PM

Implémentation de l'effet d'affichage du raccourcissement progressivement du texte dans la conception Web, comment réaliser un effet d'affichage de texte spécial pour faire raccourcir progressivement la longueur du texte? Cet effet ...

See all articles