php小編百草在介紹Golang中的請求處理時,強調了當發送GET請求時,可能會遇到的404頁面未找到的問題。 Golang作為一種高效且強大的程式語言,可以透過適當的處理來解決這個問題,確保使用者能夠得到正確的回應。在編寫程式碼時,需要注意使用適當的錯誤處理機制,以及正確的路徑和路由配置,以避免404錯誤的發生。這樣,使用者就能夠享受到更好的網頁瀏覽體驗。
我是 golang 新手。我嘗試使用 golang 編寫一個 api 伺服器,而不使用任何 http 框架(echo、gin 等)。我寫了“post”端點,但我的“get”端點沒有回應。我嘗試編寫另一個名為“ping”的獲取端點,它正在工作。我的捲髮
curl --location 'http://localhost:8080/users/45254424-5be1-487d-9131-bad3b2f7791c'
我的處理程序
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) }
我的主要方法
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/") ... })
注意:有許多第三方函式庫可以幫助您編寫更具可讀性和更有效率的 http 伺服器。
範例
以上是當我發送'GET”請求時,在 Golang 中返回'404 頁面未找到”的詳細內容。更多資訊請關注PHP中文網其他相關文章!