Maison > développement back-end > Golang > Comment obtenir des données JSON du serveur à l'aide de l'API REST dans Golang ?

Comment obtenir des données JSON du serveur à l'aide de l'API REST dans Golang ?

WBOY
Libérer: 2024-06-01 11:51:56
original
713 Les gens l'ont consulté

Étapes pour obtenir des données JSON dans Golang : créez un client HTTP ; spécifiez la méthode de requête, l'URL et le corps de la requête à l'aide des requêtes HTTP ; ajoutez des en-têtes HTTP ; vérifiez le code d'état de la réponse ;

如何在 Golang 中使用 REST API 从服务器获取 JSON 数据?

Comment obtenir des données JSON du serveur à l'aide de l'API REST dans Golang

Dans Golang, vous pouvez facilement obtenir des données JSON à partir de l'API REST à l'aide du package net/http. Voici comment procéder :

1. Créez un client HTTP

Vous devez créer un client pour effectuer des requêtes HTTP.

// 创建一个新的 HTTP 客户端
client := &http.Client{}
Copier après la connexion

2. Créer une requête HTTP

Construisez une requête HTTP, spécifiez la méthode de requête, l'URL et le corps de la requête (si nécessaire).

// 创建一个新的 HTTP 请求
req, err := http.NewRequest(method, url, body)
if err != nil {
    fmt.Println(err)
    return
}
Copier après la connexion

3. Ajouter des en-têtes HTTP

Vous pouvez ajouter des en-têtes HTTP à la requête si nécessaire.

// 添加 HTTP 头
req.Header.Add("Content-Type", "application/json")
Copier après la connexion

4. Effectuer des requêtes HTTP

Utilisez le client pour effectuer des requêtes HTTP.

// 执行 HTTP 请求
resp, err := client.Do(req)
if err != nil {
    fmt.Println(err)
    return
}
Copier après la connexion

5. Vérifiez le code d'état de la réponse

Vérifiez le code d'état de la réponse pour vous assurer que la demande a abouti.

// 检查响应状态代码
if resp.StatusCode != http.StatusOK {
    fmt.Println("请求失败: ", resp.Status)
    return
}
Copier après la connexion

6. Analyser la réponse JSON

Utilisez le décodeur JSON pour décoder la réponse JSON.

// 创建 JSON 解码器
decoder := json.NewDecoder(resp.Body)

// 解析 JSON 响应
var data interface{}
if err := decoder.Decode(&data); err != nil {
    fmt.Println(err)
    return
}
Copier après la connexion

Cas pratique

Supposons que vous souhaitiez obtenir des données utilisateur de l'API JSONPlaceholder, vous pouvez utiliser le code suivant :

func main() {
    // 创建 HTTP 请求
    resp, err := http.Get("https://jsonplaceholder.typicode.com/users")
    if err != nil {
        fmt.Println(err)
        return
    }

    // 检查状态代码
    if resp.StatusCode != 200 {
        fmt.Println(resp.Status)
        return
    }

    // 解析 JSON 响应
    var users []map[string]interface{}
    decoder := json.NewDecoder(resp.Body)
    if err := decoder.Decode(&users); err != nil {
        fmt.Println(err)
        return
    }

    // 打印用户名称
    for _, user := range users {
        fmt.Println(user["name"])
    }
}
Copier après la connexion

Voici comment obtenir des données JSON du serveur à l'aide de l'API REST dans Golang.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal