1 Punkte von GN⁺ 2023-10-17 | 1 Kommentare | Auf WhatsApp teilen
  • Artikel über die verbesserte Pattern-Matching-Funktion des standardmäßigen HTTP-Serving-Multiplexers im Paket net/http von Go 1.22
  • Der bisherige Multiplexer (http.ServeMux) bot grundlegendes Pfad-Matching, sodass für erweiterte Funktionen der Einsatz von 3rd-Party-Bibliotheken nötig war
  • Der neue Multiplexer in Go 1.22 bietet erweitertes Matching und verringert damit den Abstand zu 3rd-Party-Paketen
  • Der neue Multiplexer (mux) ermöglicht die explizite Angabe von HTTP-Methoden als Teil des Patterns und unterstützt Wildcard-Matching in Pfadkomponenten
  • Der Artikel zeigt Beispiele für die Verwendung des neuen mux, einschließlich des Umgangs mit potenziellen Konflikten zwischen verschiedenen Patterns
  • Die neue ServeMux-Dokumentation erläutert Prioritätsregeln für Patterns und potenzielle Konflikte
  • Der Artikel greift außerdem Beispiele aus einer REST-Server-Serie in Go erneut auf und vergleicht, wie sich der neue stdlib-mux im Vergleich zu gorilla/mux schlägt
  • Der neue mux in Go 1.22 ermöglicht ausgefeilteres Routing und reduziert die Notwendigkeit, Routing-Entscheidungen innerhalb von Handlern zu treffen
  • Der Autor ist überzeugt, dass die Verbesserungen in Go 1.22 die übliche Antwort auf die Frage „Welches Router-Paket sollte ich verwenden?“ verändern werden. Viele werden den neuen stdlib-mux als ausreichend für ihre Anforderungen ansehen
  • Einige Go-Programmierer könnten jedoch weiterhin 3rd-Party-Pakete oder leichtgewichtige Frameworks wie Gin bevorzugen. Diese bieten zusätzliche Werkzeuge für Router und den Aufbau von Web-Backends
  • Insgesamt bewertet der Autor die Verbesserungen in Go 1.22 als positive Veränderung für alle Go-Nutzer, da sie die Standardbibliothek leistungsfähiger machen und der gesamten Community zugutekommen

1 Kommentare

 
GN⁺ 2023-10-17
Hacker-News-Kommentare
  • Artikel über das neue HTTP-Server-Routing in Go 1.22.
  • Nutzer haben Schwierigkeiten, die Panic zu verstehen, die auftritt, wenn zwei Routen übereinstimmen; die meisten Web-Frameworks verwenden die zuerst registrierte passende Route.
  • Die Archivierung und spätere Aufhebung der Archivierung des Projekts gorrila/mux sorgt für Verwirrung, manche sehen darin jedoch einen Beleg für die Stabilität von Open-Source-Projekten.
  • Kritik an der vorgeschlagenen Syntax; einige schlagen vor, echte Argumente zu verwenden, anstatt magische Strings zur Definition von Handlern zu erzeugen.
  • Nutzer mögen die Verwendung von stringifizierten Methodenpräfixen nicht und bevorzugen die Typsicherheit verbspezifischer Methoden.
  • Neugier darüber, was passiert, wenn eine Route übereinstimmt, aber die Methode nicht; die Antwort ist ein 405 mit korrekt gesetztem Allow-Header.
  • Vorschlag, dass Nutzer mit fortgeschrittenen Anforderungen nicht das eingebaute Sub-Mux verwenden sollten, sondern andere Optionen in Betracht ziehen oder ihren eigenen Router schreiben.
  • Bevorzugung dafür, dass sich überschneidende Pfade in der Reihenfolge ihrer Definition abgeglichen werden, statt eine Panic auszulösen.
  • Nutzer, denen der Vorschlag nicht gefällt, insbesondere die Einbeziehung der HTTP-Request-Methode in die URI.
  • Kritik am Standard-ServeMux, das alles verarbeitet, wenn eine Adresse ein Präfix ist; es gibt keine einfache Möglichkeit, exakte Übereinstimmungen zu behandeln.
  • Einige Nutzer sehen das neue Routing jedoch als positive Veränderung, da es externe Abhängigkeiten reduziert und die Produktivität erhöht.