Go 開発者向けの POST リクエストの実践的なガイド

WBOY
リリース: 2024-04-07 13:21:02
オリジナル
953 人が閲覧しました

サーバー側リソースを作成または変更するためのベスト プラクティス: Go で POST リクエストを送信して、必要なライブラリをインポートします。リクエスト本文オブジェクトの構築に使用します。 HTTPリクエストオブジェクトを作成します。必要に応じてリクエストヘッダーを設定します。 http.Client を使用してリクエストを実行します。応答を処理し、応答本文を読み取って閉じます。実際のケース: POST リクエストを送信してユーザーを作成し、応答本文を出力します。

Go 开发者的 POST 请求实践指南

Go 開発者向け POST リクエスト実践ガイド

POST リクエストは、サーバー上のリソースを作成または変更するためによく使用されます。 Go で POST リクエストを送信するプロセスはシンプルかつ高速です。

#必要なライブラリ

まず、必要なライブラリをインストールしてインポートする必要があります:

import (
    "bytes"
    "io/ioutil"
    "net/http"
)
ログイン後にコピー

リクエスト本文を構築します

POST リクエストのリクエスト本文には、サーバーに送信されるデータが含まれています。

bytes.Buffer または io.Reader を使用してリクエスト本文を構築できます:

// 使用 bytes.Buffer
buf := bytes.Buffer{}
buf.WriteString("name=John Doe&age=30")

// 使用 io.Reader
r := strings.NewReader("name=Jane Doe&age=35")
ログイン後にコピー

Create HTTP request

次に、

http.Request オブジェクトを作成します。

req, err := http.NewRequest(http.MethodPost, "http://example.com/api/users", buf)
if err != nil {
    // 处理错误
}
ログイン後にコピー

リクエスト ヘッダーの設定

必要に応じて、必要なリクエスト ヘッダーを設定します。たとえば、Content-Type ヘッダーを設定するには:

req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
ログイン後にコピー

リクエストを実行します

http.Client を使用してリクエストを送信します:

client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
    // 处理错误
}
ログイン後にコピー

応答の処理

リクエストが実行された後、応答を処理します:

body, err := ioutil.ReadAll(resp.Body)
if err != nil {
    // 处理错误
}
resp.Body.Close()

// 处理响应正文
ログイン後にコピー

実践的なケース

Go ユーザーの POST リクエストで作成を送信します:

const url = "http://localhost:8080/api/users"

type User struct {
    Name string
    Age  int
}

func createUser() (*http.Response, error) {
    user := User{Name: "John Doe", Age: 30}
    jsonValue, _ := json.Marshal(user)

    req, err := http.NewRequest(http.MethodPost, url, bytes.NewBuffer(jsonValue))
    if err != nil {
        return nil, err
    }
    req.Header.Set("Content-Type", "application/json")

    client := &http.Client{}
    return client.Do(req)
}
ログイン後にコピー

fmt.Println(createUser().Body) を使用して、リクエストの応答本文を出力します。

以上がGo 開発者向けの POST リクエストの実践的なガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!