golang 设置http状态码

发布时间:2024-07-07 16:19:01

Golang 是一门开发效率高且可靠性极高的编程语言,广泛用于构建高性能的后端服务。在开发 Web 服务时,经常需要设置 HTTP 响应的状态码,以便告知客户端请求的结果情况。下面将介绍如何在 Golang 中设置 HTTP 状态码。

200 OK 状态码

HTTP 状态码中的 200 表示客户端请求成功,且服务器正常返回请求的资源。在 Golang 中,可以通过使用 http.ResponseWriter 接口的 WriteHeader 方法来设置响应头的状态码为 200。

例如,以下是一个简单的 Golang 代码片段:

func handler(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusOK) fmt.Fprint(w, "Hello World") }

上述代码中,通过调用 WriteHeader 方法并传入 http.StatusOK 来设置 HTTP 响应的状态码为 200,并使用 fmt.Fprint 方法将字符串 "Hello World" 响应给客户端。

400 Bad Request 状态码

HTTP 状态码中的 400 表示客户端发送的请求无效,服务器无法处理该请求。在 Golang 中,可以通过使用 http.Error 方法来设置响应头的状态码为 400,并向客户端返回相应的错误消息。

以下是一个示例代码,展示如何设置 HTTP 状态码为 400,并返回错误消息:

func handler(w http.ResponseWriter, r *http.Request) { http.Error(w, "Bad Request", http.StatusBadRequest) }

上述代码中,通过调用 http.Error 方法并传入参数来设置 HTTP 状态码为 400,并向客户端返回错误消息 "Bad Request"。

500 Internal Server Error 状态码

HTTP 状态码中的 500 表示服务器内部发生错误,无法完成请求。在 Golang 中,可以通过使用 http.ResponseWriter 接口的 WriteHeader 方法来设置响应头的状态码为 500,并根据实际需求返回相应的错误信息。

以下是一个简单的 Golang 代码片段:

func handler(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusInternalServerError) fmt.Fprint(w, "Internal Server Error") }

上述代码中,调用 WriteHeader 方法并传入 http.StatusInternalServerError 来设置 HTTP 响应的状态码为 500,并使用 fmt.Fprint 方法将错误消息 "Internal Server Error" 响应给客户端。

通过以上示例,可以看出在 Golang 中设置 HTTP 状态码非常简单。根据实际需求,开发者可以选择适当的状态码来设置响应头,并向客户端返回相应的信息。

相关推荐