Wie gehe ich mit beliebigen URL-Pfaden in Go ohne vordefinierte Routen um?

Barbara Streisand
Freigeben: 2024-10-24 08:59:02
Original
432 Leute haben es durchsucht

How to Handle Arbitrary URL Paths in Go Without Predefined Routes?

URL-Routing in Go anpassen

Beim Erstellen von Webanwendungen in Go ist es üblich, vordefinierte Routen für bestimmte URLs zu definieren. Es gibt jedoch Fälle, in denen Sie möglicherweise beliebige URL-Pfade ohne vorgegebene Routen lesen und verarbeiten müssen.

Parameter aus einer dynamischen URL lesen und drucken

So lesen Sie die „ Wenn Sie den Parameter „any_name“ aus einem URL-Pfad wie „example.com/person/(any_name)“ verwenden, sollten Sie das beliebte Paket gorilla/mux verwenden. So können Sie es implementieren:

<code class="go">import (
    "fmt"
    "net/http"
    "github.com/gorilla/mux"
)

func main() {
    // Create a new router
    r := mux.NewRouter()

    // Define a route handler for the dynamic URL pattern
    r.HandleFunc("/person/{name}", func(w http.ResponseWriter, r *http.Request) {
        // Get the "name" parameter from the URL
        vars := mux.Vars(r)
        name := vars["name"]

        // Print the name to the response
        fmt.Fprintf(w, "Hello, %s!", name)
    })

    // Start the HTTP server
    http.ListenAndServe(":8080", r)
}</code>
Nach dem Login kopieren

So funktioniert es

  • mux.NewRouter() erstellt einen neuen Gorilla Mux-Router.
  • r.HandleFunc("/person/{name}", ...) definiert eine Route für URLs, die dem Muster „/person/(any_name)“ entsprechen.
  • Die Route-Handler-Funktion empfängt http.ResponseWriter und *http.Request als Argumente.
  • mux.Vars(r) ruft eine Karte von Pfadparametern aus der Anfrage ab.
  • vars["name"] ruft den Wert von "name" ab. Parameter.
  • fmt.Fprintf(w, ...) schreibt den Namen in den Antworttext.

Das obige ist der detaillierte Inhalt vonWie gehe ich mit beliebigen URL-Pfaden in Go ohne vordefinierte Routen um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!