wie man einen angeforderten URL -Pfad ohne vordefinierte Route in Go
In Go können Sie URL -Pfade lesen und bestimmte Werte extrahieren, wobei regelmäßige Ausdrücke in der Anfrage -Handler -Funktion verwendet werden. Um dies zu erleichtern, sollten Sie das Gorilla/Mux -Paket nutzen.
mit gorilla/mux
gorilla/mux sind ein Routing -Framework für GO, das eine starke Merkmals für die Behandlung verschiedener URL -Muster bietet. Hier ist ein Beispiel dafür, wie man es verwendet, um einen URL -Pfad ohne vordefinierte Route zu lesen und zu drucken:
package main
import (
"fmt"
"log"
"net/http"
"github.com/gorilla/mux"
)
func main() {
// Create a new router
r := mux.NewRouter()
// Define a route that matches any URL path and calls the handler function
r.HandleFunc("/{anyPath:. }", handler)
// Start listening on port 8080
log.Fatal(http.ListenAndServe(":8080", r))
}
// Handler function to read and print the URL path
func handler(w http.ResponseWriter, r *http.Request) {
// Get the URL path from the request
path := r.URL.Path
// Print the path
fmt.Fprintf(w, "URL path: %s\n", path)
}
In diesem Beispiel fungiert der Pfad / Router -Pfad als Wildcard, der zu jedem URL -Pfad entspricht. Wenn eine Anfrage eingeht, wird die Handler -Funktion aufgerufen und der URL -Pfad aus der Anfrage extrahiert. Sie können dann den URL -Pfad für jede benutzerdefinierte Funktionalität verwenden, z. B. das Extrahieren spezifischer Werte oder das Umleiten auf eine andere Seite.
unter Verwendung von Gorilla/MUX können Sie problemlos URL -Pfade ohne vordefinierte Routen abwickeln und die erforderlichen Informationen aus der angeforderten URL extrahieren.
.Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3