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 サイトの他の関連記事を参照してください。