📌  相关文章
📜  如何设置状态码 golang http - Go 编程语言 - Go 编程语言(1)

📅  最后修改于: 2023-12-03 15:38:55.127000             🧑  作者: Mango

如何设置状态码 golang http

在编写 golang http 服务器时,设置状态码是至关重要的。本篇文章将介绍如何在 golang http 中设置状态码,以便您在编写服务器时可以更好地掌控它。

设置状态码

要设置状态码,您需要使用 http.ResponseWriter 对象的 WriteHeader 方法。该方法可以将状态码作为参数传入。以下是一个简单的示例:

func handleRequest(w http.ResponseWriter, r *http.Request) {
    w.WriteHeader(http.StatusOK)
    fmt.Fprintf(w, "Hello World!")
}

在这个例子中,w.WriteHeader(http.StatusOK) 将状态码设置为 200。您可以将其他状态码传递给 WriteHeader 方法来设置其他状态码。

值得注意的是,在调用 WriteHeader 方法后,您必须立即写入数据到 http.ResponseWriter 对象,否则状态码将不会生效。在本例中,我们简单地使用了 fmt.Fprintf 方法写入了一个字符串 Hello World!

错误处理

在处理请求时,我们经常需要返回错误状态码以指示请求已失败。为了处理这种情况,我们可以在 http.ResponseWriter 对象上使用 WriteHeader 方法来设置错误状态码,然后使用 fmt.Fprintf 方法向客户端发送有关错误的详细信息。

以下是一个返回错误状态码的示例:

func handleRequest(w http.ResponseWriter, r *http.Request) {
    if r.Method != "GET" {
        w.WriteHeader(http.StatusMethodNotAllowed)
        fmt.Fprintf(w, "Invalid request method")
        return
    }

    // handle GET request here
}

在这个例子中,我们对请求方法进行了检查,如果它不是 GET,则返回错误状态码 405 并向客户端发送一条错误消息 Invalid request method

结论

这篇文章介绍了如何在 golang http 中设置状态码,以便您可以在编写服务器时更好地掌控它。通过使用 http.ResponseWriter 对象的 WriteHeader 方法,您可以轻松设置状态码以及返回错误消息,从而为您的应用程序提供更好的用户体验。