サーバー側リソースを作成または変更するためのベスト プラクティス: Go で POST リクエストを送信して、必要なライブラリをインポートします。リクエスト本文オブジェクトの構築に使用します。 HTTPリクエストオブジェクトを作成します。必要に応じてリクエストヘッダーを設定します。 http.Client を使用してリクエストを実行します。応答を処理し、応答本文を読み取って閉じます。実際のケース: 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 サイトの他の関連記事を参照してください。