Maison >développement back-end >Golang >Comment vérifier le code d'état de la réponse HTTP dans Golang ?
Les méthodes pour vérifier le code d'état de la réponse HTTP dans Golang sont : utilisez http.Response.StatusCode pour comparer directement le code d'état de la réponse avec la valeur attendue. Créez un type d'erreur personnalisé contenant un code d'état et un message d'erreur, puis vérifiez le code d'état en détectant l'erreur.
Comment vérifier le code d'état de la réponse HTTP dans Golang
Lors de l'envoi de requêtes HTTP à l'aide du package net/http
dans Golang, il est très important de vérifier le code d'état de la réponse. Cela permet de gérer les erreurs côté serveur, les problèmes de configuration et autres problèmes de réseau. 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
Utilisez http.Response.StatusCode
http.Response
contient un champ StatusCode
qui représente le code d'état du HTTP réponse. Pour vérifier le code d'état, vous pouvez simplement comparer StatusCode
avec la valeur attendue : 🎜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) } // 解析响应并返回数据 }🎜🎜Utilisation d'un type d'erreur personnalisé 🎜🎜🎜Une autre façon de vérifier le code d'état de la réponse consiste à créer un type d'erreur personnalisé , qui contient le code d'état et le message d'erreur : 🎜rrreee🎜🎜Un cas pratique 🎜🎜🎜Ce qui suit est un cas pratique pour utiliser
http.Response.StatusCode
pour vérifier le code d'état : 🎜🎜Supposons que vous développent une API qui utilise HTTP GET pour récupérer les données de la base de données. Vous devez vérifier le code d'état de la réponse pour vous assurer que la demande s'est terminée avec succès : 🎜rrreee🎜 En validant le code d'état de la réponse, vous vous assurez que les données ne sont renvoyées que si le serveur a traité avec succès la demande. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!