Inhaltsverzeichnis
Frage
@RestControllerpublic class RepeatTestController {@RepeatSubmit@GetMapping("/hello/mono1")public Mono mono(){return Mono.just("Hello Mono -Java North");}@RepeatSubmit@PostMapping ("/hello/mono1")public Mono mono1(@RequestBody User user){return Mono.just("Hello Mono -Java North-"+user.getName());}}
Nach dem Login kopieren
" >
@RestControllerpublic class RepeatTestController {@RepeatSubmit@GetMapping("/hello/mono1")public Mono mono(){return Mono.just("Hello Mono -Java North");}@RepeatSubmit@PostMapping ("/hello/mono1")public Mono mono1(@RequestBody User user){return Mono.just("Hello Mono -Java North-"+user.getName());}}
Nach dem Login kopieren
Heim Technologie-Peripheriegeräte KI Heute verwenden wir KI, um eine Schnittstelle zu erstellen, die das wiederholte Einreichen von Anmerkungen verhindert.

Heute verwenden wir KI, um eine Schnittstelle zu erstellen, die das wiederholte Einreichen von Anmerkungen verhindert.

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

Hallo zusammen, ich bin großartig.

Unabhängig davon, wie oft die Schnittstelle einmal oder mehrmals aufgerufen wird, stellt die Idempotenz der Schnittstelle sicher, dass Vorgänge auf derselben Ressource nur zum gleichen Ergebnis führen. Wiederholte Aufrufe derselben Schnittstellenanforderung mehrmals sollten die gleichen Ergebnisse wie eine einzelne Anforderung haben und keine Inkonsistenzen oder Nebenwirkungen verursachen.

Heute haben wir mithilfe künstlicher Intelligenz eine benutzerdefinierte Anmerkung erstellt, um zu verhindern, dass die Schnittstelle innerhalb von 30 Sekunden mehrmals angefordert wird, und Redis als Cache verwendet.

Frage

Sagen Sie nicht viel, fragen Sie einfach direkt:

Heute verwenden wir KI, um eine Schnittstelle zu erstellen, die das wiederholte Einreichen von Anmerkungen verhindert.

Warten Sie ein paar Minuten. . .

1. Erstellen Sie benutzerdefinierte Anmerkungen, einschließlich der Dauer des Schnittstellenschutzes, der Aktivierung des Schutzes vor wiederholten Übermittlungen usw.

Heute verwenden wir KI, um eine Schnittstelle zu erstellen, die das wiederholte Einreichen von Anmerkungen verhindert.

2. Dann erstellen Sie den Interceptor

Heute verwenden wir KI, um eine Schnittstelle zu erstellen, die das wiederholte Einreichen von Anmerkungen verhindert.

Hier veröffentlichen wir den Kerncode des Interceptors:

@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();}
Nach dem Login kopieren

3

Die letzte Erklärung gegeben und Verwendung.

Heute verwenden wir KI, um eine Schnittstelle zu erstellen, die das wiederholte Einreichen von Anmerkungen verhindert.

Heute verwenden wir KI, um eine Schnittstelle zu erstellen, die das wiederholte Einreichen von Anmerkungen verhindert.Das Obige ist der kritischste Code.

Mit Redis verbinden

Jetzt verbinden wir uns mit Redis. Die optimierteste Konfigurationsversion

spring:data:redis:host: 127.0.0.1 port: 6379
Nach dem Login kopieren
Anmerkungen zur Schnittstellennutzung

@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>
Nach dem Login kopieren

Starten Sie Redis lokal und starten Sie dann das lokale SpringBoot-Projekt zum Testen.

Lokaler Schnittstellentest: Wiederholte Anforderungen innerhalb von 30 Sekunden müssen abgefangen werden direkt

Heute verwenden wir KI, um eine Schnittstelle zu erstellen, die das wiederholte Einreichen von Anmerkungen verhindert.

Der in Redis zwischengespeicherte SCHLÜSSEL lautet wie folgt:

Heute verwenden wir KI, um eine Schnittstelle zu erstellen, die das wiederholte Einreichen von Anmerkungen verhindert.

Der entsprechende Code befindet sich am Ende des Artikels. Sie können ihn bei Bedarf kostenlos verwenden!

Heute verwenden wir KI, um eine Schnittstelle zu erstellen, die das wiederholte Einreichen von Anmerkungen verhindert.Schnittstellen-Idempotenz-Lösung

Lassen Sie uns nach der Schnittstellen-Idempotenz-Lösung fragen:

Was denken Sie über diese Antwort?

Heute verwenden wir KI, um eine Schnittstelle zu erstellen, die das wiederholte Einreichen von Anmerkungen verhindert.Verwandte Code-Links, willkommen zu besuchen:

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

Das obige ist der detaillierte Inhalt vonHeute verwenden wir KI, um eine Schnittstelle zu erstellen, die das wiederholte Einreichen von Anmerkungen verhindert.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie zeige ich die lokal installierte 'Jingnan Mai Round Body' auf der Webseite richtig? Wie zeige ich die lokal installierte 'Jingnan Mai Round Body' auf der Webseite richtig? Apr 05, 2025 pm 10:33 PM

Mit lokal installierten Schriftdateien auf Webseiten kürzlich habe ich eine kostenlose Schriftart aus dem Internet heruntergeladen und sie erfolgreich in mein System installiert. Jetzt...

Bedarf die Produktion von H5 -Seiten eine kontinuierliche Wartung? Bedarf die Produktion von H5 -Seiten eine kontinuierliche Wartung? Apr 05, 2025 pm 11:27 PM

Die H5 -Seite muss aufgrund von Faktoren wie Code -Schwachstellen, Browserkompatibilität, Leistungsoptimierung, Sicherheitsaktualisierungen und Verbesserungen der Benutzererfahrung kontinuierlich aufrechterhalten werden. Zu den effektiven Wartungsmethoden gehören das Erstellen eines vollständigen Testsystems, die Verwendung von Versionstools für Versionskontrolle, die regelmäßige Überwachung der Seitenleistung, das Sammeln von Benutzern und die Formulierung von Wartungsplänen.

Wo kann man das Material für die H5 -Seitenproduktion erhalten Wo kann man das Material für die H5 -Seitenproduktion erhalten Apr 05, 2025 pm 11:33 PM

Die Hauptquellen von H5 -Seitenmaterialien sind: 1. professionelle Material -Website (bezahlt, hoher Qualität, klares Urheberrecht); 2. hausgemachtes Material (hohe Einzigartigkeit, aber zeitaufwändig); 3. Open Source Material Library (kostenlos, muss sorgfältig abgeschrieben werden); 4. Bild-/Video -Website (Urheberrecht verifiziert ist erforderlich). Darüber hinaus sind ein einheitlicher Materialstil, Größenanpassung, Kompressionsverarbeitung und Urheberrechtsschutz wichtige Punkte, die beachtet werden müssen.

Wie wähle ich ein untergeordnetes Element mit dem erstklassigen Namen über CSS aus? Wie wähle ich ein untergeordnetes Element mit dem erstklassigen Namen über CSS aus? Apr 05, 2025 pm 11:24 PM

Wenn die Anzahl der Elemente nicht festgelegt ist, wählen Sie das erste untergeordnete Element des angegebenen Klassennamens über CSS aus. Bei der Verarbeitung der HTML -Struktur begegnen Sie häufig auf verschiedene Elemente ...

Welche Anwendungsszenarien eignen sich für die H5 -Seitenproduktion Welche Anwendungsszenarien eignen sich für die H5 -Seitenproduktion Apr 05, 2025 pm 11:36 PM

H5 (HTML5) eignet sich für leichte Anwendungen wie Marketingkampagnen, Produktdisplayseiten und Micro-Websites für Unternehmenswerbung. Seine Vorteile liegen in plattformartigen und reichhaltigen Interaktivität, aber seine Einschränkungen liegen in komplexen Interaktionen und Animationen, lokalen Ressourcenzugriff und Offline-Funktionen.

Wie verwendet ich das Formattribut von CSS, um den Anzeigeeffekt von schrittweisen Verkürzung von Text zu erzielen? Wie verwendet ich das Formattribut von CSS, um den Anzeigeeffekt von schrittweisen Verkürzung von Text zu erzielen? Apr 05, 2025 pm 10:54 PM

Implementieren Sie den Anzeigeeffekt von schrittweisen Verkürzungen von Text im Webdesign, wie Sie einen speziellen Text -Display -Effekt erzielen, um die Textlänge allmählich zu verkürzen? Dieser Effekt ...

Wie löst ich das Problem des Ladens beim Starten von PS? Wie löst ich das Problem des Ladens beim Starten von PS? Apr 06, 2025 pm 06:36 PM

Ein PS, der beim Booten auf "Laden" steckt, kann durch verschiedene Gründe verursacht werden: Deaktivieren Sie korrupte oder widersprüchliche Plugins. Eine beschädigte Konfigurationsdatei löschen oder umbenennen. Schließen Sie unnötige Programme oder aktualisieren Sie den Speicher, um einen unzureichenden Speicher zu vermeiden. Upgrade auf ein Solid-State-Laufwerk, um die Festplatte zu beschleunigen. PS neu installieren, um beschädigte Systemdateien oder ein Installationspaketprobleme zu reparieren. Fehlerinformationen während des Startprozesses der Fehlerprotokollanalyse anzeigen.

Was ist der Grund, warum PS immer wieder Laden zeigt? Was ist der Grund, warum PS immer wieder Laden zeigt? Apr 06, 2025 pm 06:39 PM

PS "Laden" Probleme werden durch Probleme mit Ressourcenzugriff oder Verarbeitungsproblemen verursacht: Die Lesegeschwindigkeit von Festplatten ist langsam oder schlecht: Verwenden Sie Crystaldiskinfo, um die Gesundheit der Festplatte zu überprüfen und die problematische Festplatte zu ersetzen. Unzureichender Speicher: Upgrade-Speicher, um die Anforderungen von PS nach hochauflösenden Bildern und komplexen Schichtverarbeitung zu erfüllen. Grafikkartentreiber sind veraltet oder beschädigt: Aktualisieren Sie die Treiber, um die Kommunikation zwischen PS und der Grafikkarte zu optimieren. Dateipfade sind zu lang oder Dateinamen haben Sonderzeichen: Verwenden Sie kurze Pfade und vermeiden Sie Sonderzeichen. Das eigene Problem von PS: Installieren oder reparieren Sie das PS -Installateur neu.

See all articles