Golang は、Web アプリケーション開発に最適な人気のあるプログラミング言語です。 Web アプリケーションを作成する場合、POST メソッドは最も一般的に使用される HTTP メソッドの 1 つであり、これを使用してデータをサーバー側に送信できます。この記事では、Golang の POST メソッドを使用してサーバーサイドのデータ処理を実装する方法を紹介します。
Golang で POST メソッドを使用するには、net/http パッケージの Post 関数を使用する必要があります。この関数で使用される形式は次のとおりです。
resp, err := http.Post(url string, contentType string, body io.Reader)
このうち、url パラメータはターゲット サーバーのアドレスとポート番号、contentType パラメータはリクエスト本文の MIME タイプ、body パラメータはリクエストボディのデータストリーム。
POST メソッドの使用法を示すために、クライアントから送信されたデータを受信し、サーバー側のデータベースに保存する単純な Web アプリケーションを作成します。
まず、データを受信してサーバーに送信するための HTML フォームを作成する必要があります:
<html> <head> <meta charset="utf-8"> <title>提交数据</title> </head> <body> <h1>提交数据</h1> <form action="/submit" method="post"> <label for="name">姓名:</label> <input type="text" id="name" name="name"><br> <label for="email">邮箱:</label> <input type="email" id="email" name="email"><br> <input type="submit" value="提交"> </form> </body> </html>
このフォームでは、名前と電子メール アドレスを入力するための 2 つのテキスト ボックスを定義し、送信します。このデータをサーバー上の /submit パスにコピーします。次に、サーバー側で /submit パスの処理ロジックを実装する必要があります。
サーバー側のコードは次のとおりです:
package main import ( "database/sql" "fmt" "log" "net/http" "time" _ "github.com/go-sql-driver/mysql" ) func main() { http.HandleFunc("/submit", submitHandler) http.ListenAndServe(":8080", nil) } func submitHandler(w http.ResponseWriter, r *http.Request) { db, err := sql.Open("mysql", "root:@/test") if err != nil { log.Fatal(err) } defer db.Close() err = r.ParseForm() if err != nil { log.Fatal(err) } name := r.FormValue("name") email := r.FormValue("email") timestamp := time.Now() stmt, err := db.Prepare("INSERT INTO users(name, email, timestamp) VALUES(?, ?, ?)") if err != nil { log.Fatal(err) } defer stmt.Close() _, err = stmt.Exec(name, email, timestamp) if err != nil { log.Fatal(err) } fmt.Fprintf(w, "数据已提交!") }
submitHandler 関数では、まず MySQL データベースに接続し、r.ParseForm() 関数を通じて要求されたフォーム データを解析します。次に、名前と電子メールのパラメータを取得し、現在のタイムスタンプを生成します。
次に、sql パッケージの Prepare 関数を使用して、SQL ステートメントのプリペアド ステートメントを作成し、フォーム データを疑問符プレースホルダーにバインドします。最後に、stmt.Exec() 関数を通じてデータを MySQL データベースに挿入し、成功メッセージをクライアントに出力します。
アプリケーションを実行し、ブラウザ経由でデータ送信ページにアクセスすると、一部のデータをサーバーに送信し、このデータを MySQL データベースに保存できます。私のテストでは、このデータは test という名前のデータベース内の users という名前のテーブルに保存されます。このデータを表示するには、次のコマンドを使用できます。
$ mysql -u root test mysql> SELECT * FROM users;
POST メソッドを使用してサーバー側のデータ処理を実装すると、クライアントから送信されたデータを簡単に受信し、サーバー側のデータベースに保存できます。 Golang で Web プログラミングを学習している場合、POST メソッドは習得しなければならない重要なスキルの 1 つです。
以上がGolang の POST メソッドを使用してデータ処理を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。