Cara menggunakan kaedah POST Golang untuk melaksanakan pemprosesan data

PHPz
Lepaskan: 2023-04-11 09:38:51
asal
1090 orang telah melayarinya

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)
Salin selepas log masuk

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:

   提交数据 

提交数据



Salin selepas log masuk

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, "数据已提交!") }
Salin selepas log masuk

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;
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!