Heim > Artikel > Backend-Entwicklung > Wie überprüfe ich den HTTP-Antwortstatuscode in Golang?
Die Methoden zum Überprüfen des HTTP-Antwortstatuscodes in Golang sind: Verwenden Sie http.Response.StatusCode, um den Antwortstatuscode direkt mit dem erwarteten Wert zu vergleichen. Erstellen Sie einen benutzerdefinierten Fehlertyp, der einen Statuscode und eine Fehlermeldung enthält, und überprüfen Sie den Statuscode, indem Sie den Fehler abfangen.
So überprüfen Sie den HTTP-Antwortstatuscode in Golang
Beim Senden von HTTP-Anfragen mit dem net/http
-Paket in Golang ist es sehr wichtig, den Antwortstatuscode zu überprüfen. Dies hilft bei der Bewältigung von serverseitigen Fehlern, Konfigurationsproblemen und anderen Netzwerkproblemen. net/http
包发送 HTTP 请求时,验证响应状态代码非常重要。这有助于处理服务器端错误、配置问题和其他网络问题。
使用 http.Response.StatusCode
http.Response
类型包含一个 StatusCode
字段,表示 HTTP 响应的状态代码。要验证状态代码,可以简单地比较 StatusCode
与预期的值:
package main import ( "fmt" "net/http" "net/http/httptest" ) func main() { // 创建一个模拟响应 resp := httptest.NewRecorder() // 设置状态代码 resp.WriteHeader(http.StatusOK) if resp.Code == http.StatusOK { fmt.Println("成功") } }
使用自定义错误类型
另一种验证响应状态代码的方法是创建一个自定义错误类型,其中包含状态代码和错误消息:
package main import ( "errors" "fmt" "net/http" ) type HTTPError struct { Code int Msg string } func (e HTTPError) Error() string { return fmt.Sprintf("HTTP Error: %d - %s", e.Code, e.Msg) } func main() { // 发送请求并捕获响应 resp, err := http.Get("https://example.com") if err != nil { fmt.Println(err) return } if resp.StatusCode != http.StatusOK { // 创建自定义错误 err = HTTPError{Code: resp.StatusCode, Msg: "请求失败"} fmt.Println(err) } }
实战案例
以下是使用 http.Response.StatusCode
Verwenden Sie http.Response.StatusCode
http.Response
enthält ein Feld StatusCode
, das den Statuscode des HTTP darstellt Antwort. Um den Statuscode zu überprüfen, können Sie einfach StatusCode
mit dem erwarteten Wert vergleichen: 🎜func GetUserData(userID int) (UserData, error) { resp, err := http.Get(fmt.Sprintf("https://myapi.com/users/%d", userID)) if err != nil { return UserData{}, err } if resp.StatusCode != http.StatusOK { return UserData{}, fmt.Errorf("请求失败: %d", resp.StatusCode) } // 解析响应并返回数据 }🎜🎜Verwenden eines benutzerdefinierten Fehlertyps 🎜🎜🎜Eine andere Möglichkeit, den Antwortstatuscode zu überprüfen, besteht darin, einen benutzerdefinierten Fehlertyp zu erstellen , das den Statuscode und die Fehlermeldung enthält: 🎜rrreee🎜🎜Ein praktischer Fall 🎜🎜🎜Das Folgende ist ein praktischer Fall für die Verwendung von
http.Response.StatusCode
zur Überprüfung des Statuscodes: 🎜🎜Angenommen, Sie entwickeln eine API, die HTTP GET verwendet, um Daten aus der Datenbank abzurufen. Sie müssen den Antwortstatuscode überprüfen, um sicherzustellen, dass die Anfrage erfolgreich abgeschlossen wurde: 🎜rrreee🎜 Durch die Validierung des Antwortstatuscodes stellen Sie sicher, dass Daten nur zurückgegeben werden, wenn der Server die Anfrage erfolgreich verarbeitet hat. 🎜Das obige ist der detaillierte Inhalt vonWie überprüfe ich den HTTP-Antwortstatuscode in Golang?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!