Bei der Einführung der Anforderungsverarbeitung in Golang betonte PHP-Redakteur Baicao das Problem „404-Seite nicht gefunden“, das beim Senden einer GET-Anfrage auftreten kann. Als effiziente und leistungsstarke Programmiersprache kann Golang dieses Problem durch geeignete Verarbeitung lösen, um sicherzustellen, dass Benutzer die richtige Antwort erhalten. Beim Schreiben von Code müssen Sie auf die Verwendung geeigneter Fehlerbehandlungsmechanismen sowie auf die korrekte Pfad- und Routing-Konfiguration achten, um das Auftreten von 404-Fehlern zu vermeiden. Auf diese Weise können Benutzer ein besseres Surferlebnis im Internet genießen.
Ich bin neu bei Golang. Ich versuche, einen API-Server mit Golang zu schreiben, ohne ein HTTP-Framework (Echo, Gin usw.) zu verwenden. Ich habe den „Post“-Endpunkt geschrieben, aber mein „Get“-Endpunkt antwortet nicht. Ich habe versucht, einen anderen Get-Endpunkt namens „ping“ zu schreiben, und es funktioniert. Meine lockigen Haare
curl --location 'http://localhost:8080/users/45254424-5be1-487d-9131-bad3b2f7791c'
Mein Betreuer
func (u userhandler) getbyid(writer http.responsewriter, request *http.request) { id := strings.trimprefix(request.url.path, "/users/") user := u.userservice.getbyid(uuid.must(uuid.parse(id))) writer.header().set("content-type", "application/json") json.newencoder(writer).encode(user) }
Meine Hauptmethode
postgresConnection := db.NewDb() userRepository := repository.NewUserRepository(postgresConnection) userService := service.NewUserService(userRepository) userHandler := handlers.NewUserHandler(userService) mux := http.NewServeMux() mux.HandleFunc("/users", func(writer http.ResponseWriter, request *http.Request) { if request.Method == "POST" { userHandler.Create(writer, request) } else { http.Error(writer, "Invalid request method", http.StatusMethodNotAllowed) } }) mux.HandleFunc("/users/:id", func(writer http.ResponseWriter, request *http.Request) { if request.Method == "GET" { userHandler.GetById(writer, request) } else { http.Error(writer, "Invalid request method", http.StatusMethodNotAllowed) } }) mux.HandleFunc("/ping", PingHandler) err := http.ListenAndServe(":8080", mux) log.Fatal(err)
/users/:id
更改为 /users/
. mux.HandleFunc("/users/", func(writer http.ResponseWriter, request *http.Request) { id := strings.TrimPrefix(request.URL.Path, "/users/") ... })
HINWEIS: Es gibt viele Bibliotheken von Drittanbietern, die Ihnen beim Schreiben besser lesbarer und effizienterer HTTP-Server helfen können.
Beispiel
Das obige ist der detaillierte Inhalt vonIn Golang wird „404-Seite nicht gefunden' zurückgegeben, wenn ich eine „GET'-Anfrage sende. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!