Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mendapatkan data JSON daripada pelayan menggunakan API REST di Golang?

Bagaimana untuk mendapatkan data JSON daripada pelayan menggunakan API REST di Golang?

WBOY
WBOYasal
2024-06-01 11:51:56673semak imbas

Langkah untuk mendapatkan data JSON dalam Golang: Buat klien HTTP, tentukan kaedah permintaan, URL dan isi permintaan menggunakan permintaan HTTP;

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

Cara mendapatkan data JSON daripada pelayan menggunakan REST API di Golang

Di Golang, anda boleh mendapatkan data JSON daripada REST API menggunakan pakej net/http dengan mudah. Begini cara untuk melakukannya:

1 Buat klien HTTP

Anda perlu mencipta klien untuk membuat permintaan HTTP.

// 创建一个新的 HTTP 客户端
client := &http.Client{}

2. Cipta permintaan HTTP

Bina permintaan HTTP, nyatakan kaedah permintaan, URL dan isi permintaan (jika perlu).

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

3. Tambahkan pengepala HTTP

Anda boleh menambah pengepala HTTP pada permintaan seperti yang diperlukan.

// 添加 HTTP 头
req.Header.Add("Content-Type", "application/json")

4. Lakukan permintaan HTTP

Gunakan klien untuk melaksanakan permintaan HTTP.

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

5. Semak kod status respons

Semak kod status respons untuk memastikan permintaan berjaya.

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

6. Menghuraikan respons JSON

Gunakan penyahkod JSON untuk menyahkod respons JSON.

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

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

Kes praktikal

Andaikata anda ingin mendapatkan data pengguna daripada JSONPlaceholder API, anda boleh menggunakan kod berikut:

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"])
    }
}

Ini adalah cara mendapatkan data JSON dari pelayan menggunakan API REST di Golang.

Atas ialah kandungan terperinci Bagaimana untuk mendapatkan data JSON daripada pelayan menggunakan API REST di Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn