In Go umfasst die Entwicklung von REST-APIs ohne Verwendung von Web-Frameworks die manuelle Handhabung von Pfadzuordnungen und das Extrahieren von Pfadparametern aus eingehenden HTTP-Anfragen. Dieser Artikel bietet eine Lösung, die nur das Standard-http-Paket verwendet.
Um einen Pfad einem Handler zuzuordnen und den entsprechenden Pfadparameter abzurufen, führen Sie die folgenden Schritte aus:
1. Leiten Sie den Pfad weiter:
Verwenden Sie die Funktion http.HandleFunc, um einen angegebenen Pfad einer Handlerfunktion zuzuordnen. Um beispielsweise den Pfad /provisions/:id zuzuordnen, verwenden Sie:
http.HandleFunc("/provisions/", Provisions)
2. Extrahieren Sie den Parameter:
Teilen Sie innerhalb der Handlerfunktion den Pfad der Anforderungs-URL auf, um den Pfadparameter zu extrahieren. Um beispielsweise den ID-Parameter im Pfad /provisions/:id abzurufen:
id := strings.TrimPrefix(req.URL.Path, "/provisions/")
Sie können auch strings.Split oder reguläre Ausdrücke für komplexere Pfadstrukturen verwenden.
Das bereitgestellte Code-Snippet veranschaulicht, wie diese Schritte implementiert werden:
func main() { http.HandleFunc("/provisions/", Provisions) http.ListenAndServe(":8080", nil) } func Provisions(w http.ResponseWriter, r *http.Request) { // Retrieve "id" parameter id := strings.TrimPrefix(req.URL.Path, "/provisions/") // Handle the request using the extracted path parameter }
Die Verwendung dieses Ansatzes ermöglicht die vollständige Kontrolle über die Pfadzuordnung und den Parameterabruf, ohne dass externe Abhängigkeiten eingeführt werden.
Das obige ist der detaillierte Inhalt vonWie extrahiere ich Pfadparameter aus HTTP-Anfragen in Go Without Frameworks?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!