Golangを使用してAPIリクエストを行う方法

PHPz
リリース: 2023-04-14 09:41:41
オリジナル
1207 人が閲覧しました

Golang は最新のプログラミング言語であり、バックエンド言語の分野でますます人気が高まっています。その利点には、効率的な同時処理、メモリの安全性、ガベージ コレクション メカニズムが含まれます。この記事では、Golang を使用して API リクエストを行う方法を説明します。

まず、Golang をインストールすることから始める必要があります。 Golang ポータブル インストール パッケージは、公式 Web サイト https://golang.org/dl/ からダウンロードできます。

インストールが完了したら、HTTP クライアントをインストールする必要があります。この記事では、「net/http」パッケージと「json」パッケージを使用します。これら 2 つのパッケージは Golang に付属する標準ライブラリであるため、インストールする必要はありません。

要求したデータを保存するための構造を定義する必要があります。この例では、REST API をリクエストし、JSON 応答を取得します。したがって、JSON を解析して応答を保存するための構造体が必要です。

次に、HTTP クライアントを作成する必要があります。 Golang では、「http.Client」タイプを使用して HTTP クライアントを作成します。このクライアントを使用すると、タイムアウトやその他のオプションを指定できます。

次に、HTTP リクエストを定義する必要があります。 Golang では、「http.NewRequest()」関数を使用して HTTP リクエストを作成します。この関数を使用すると、リクエストのタイプ、URL、ヘッダー、本文、その他のパラメーターを指定できます。

次に、HTTP リクエストを送信して応答を取得する必要があります。 Golang では、「client.Do()」関数を使用して HTTP リクエストを送信します。この関数は、必要な応答といくつかのメタデータを含む「http.Response」構造を返します。

最後に、JSON 応答を解析する必要があります。 Golang では、JSON 応答を解析するために「json.Unmarshal()」関数を使用します。この関数を使用すると、JSON データを定義した構造型に変換できます。

要約すると、これは基本的な Golang リクエスト API フレームワークです。

package main

import (
    "net/http"
    "encoding/json"
    "fmt"
    "time"
)

type ApiResponse struct {
    Data string `json:"data"`
}

func main() {
    client := &http.Client{
        Timeout: time.Second * 10,
    }

    req, err := http.NewRequest("GET", "https://api.example.com/data", nil)
    if err != nil {
        fmt.Println(err)
    }

    req.Header.Set("Content-Type", "application/json")
    req.Header.Set("Authorization", "Bearer my_token")

    resp, err := client.Do(req)
    if err != nil {
        fmt.Println(err)
    }

    defer resp.Body.Close()

    var apiResponse ApiResponse
    err = json.NewDecoder(resp.Body).Decode(&apiResponse)
    if err != nil {
        fmt.Println(err)
    }

    fmt.Println(apiResponse.Data)
}
ログイン後にコピー

この例では、HTTP GET リクエストを「https://api.example.com/data」に送信し、API は JSON レスポンスを返します。まずHTTPクライアントを作成し、次に「http.NewRequest()」メソッドを使用して「Content-Type」や「Authorization」などのヘッダー情報を使用したHTTPリクエストを作成しました。最後に、「client.Do()」を使用してリクエストを送信し、「json.Unmarshal()」メソッドを使用して JSON レスポンスを解析します。

概要:

Golang で HTTP クライアントを使用して API をリクエストするのは非常に簡単です。リクエストを完了し、レスポンスを解析するには、標準ライブラリの「net/http」パッケージと「json」パッケージを使用するだけです。最後に、API の応答を、プログラムで使用するために定義した構造タイプに変換できます。

以上がGolangを使用してAPIリクエストを行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート