Golang ialah bahasa pengaturcaraan popular yang sangat sesuai untuk pembangunan aplikasi web. Apabila menulis aplikasi web, kaedah POST adalah salah satu kaedah HTTP yang paling biasa digunakan, yang membolehkan kami menghantar data ke bahagian pelayan. Artikel ini akan memperkenalkan cara menggunakan kaedah POST Golang untuk melaksanakan pemprosesan data sebelah pelayan.
Untuk menggunakan kaedah POST di Golang, anda perlu menggunakan fungsi Post dalam pakej net/http. Format yang digunakan oleh fungsi ini ialah:
resp, err := http.Post(url string, contentType string, body io.Reader)
Antaranya, parameter url ialah alamat dan nombor port pelayan sasaran, parameter contentType ialah jenis MIME badan permintaan, dan parameter badan ialah aliran data badan permintaan.
Untuk menunjukkan penggunaan kaedah POST, kami akan mencipta aplikasi web mudah yang akan menerima data yang dihantar oleh pelanggan dan menyimpannya ke dalam pangkalan data di bahagian pelayan.
Pertama, kita perlu mencipta borang HTML yang akan menerima data dan menghantarnya ke pelayan:
Dalam borang ini, kami menentukan dua kotak teks untuk Masukkan nama dan e-mel anda alamat dan hantar data ini ke laluan /submit pada pelayan. Seterusnya, kita perlu melaksanakan logik pemprosesan laluan /submit di bahagian pelayan.
Kod sisi pelayan adalah seperti berikut:
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, "数据已提交!") }
Dalam fungsi submitHandler, kami mula-mula menyambung ke pangkalan data MySQL dan menghuraikan data borang yang diminta melalui fungsi r.ParseForm() . Seterusnya, kami mendapat nama dan parameter e-mel dan menjana cap masa semasa.
Kemudian, kami menggunakan fungsi Sediakan dalam pakej sql untuk mencipta pernyataan yang disediakan untuk pernyataan SQL dan mengikat data borang pada pemegang tempat tanda soal. Akhir sekali, kami memasukkan data ke dalam pangkalan data MySQL melalui fungsi stmt.Exec() dan mengeluarkan mesej kejayaan kepada pelanggan.
Jika kami menjalankan aplikasi dan mengakses halaman penyerahan data melalui penyemak imbas, kami akan dapat menyerahkan beberapa data ke pelayan dan menyimpan data ini ke dalam pangkalan data MySQL. Dalam ujian saya, data ini akan disimpan dalam jadual bernama pengguna dalam pangkalan data bernama ujian. Anda boleh melihat data ini menggunakan arahan berikut:
$ mysql -u root test mysql> SELECT * FROM users;
Menggunakan kaedah POST untuk melaksanakan pemprosesan data sebelah pelayan membolehkan kami menerima data yang diserahkan oleh klien dengan mudah dan menyimpannya dalam pangkalan data sebelah pelayan. Jika anda belajar pengaturcaraan web di Golang, kaedah POST adalah salah satu kemahiran penting yang anda mesti kuasai.
Atas ialah kandungan terperinci Cara menggunakan kaedah POST Golang untuk melaksanakan pemprosesan data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!