Dalam Go, membangunkan API REST tanpa menggunakan rangka kerja web melibatkan pengendalian pemetaan laluan secara manual dan mengekstrak parameter laluan daripada permintaan HTTP masuk. Artikel ini menyediakan penyelesaian hanya menggunakan pakej http standard.
Untuk memetakan laluan kepada pengendali dan mendapatkan semula parameter laluan yang sepadan, lakukan langkah berikut:
1. Halakan Laluan:
Gunakan fungsi http.HandleFunc untuk mengaitkan laluan tertentu dengan fungsi pengendali. Contohnya, untuk memetakan laluan /provisions/:id, gunakan:
http.HandleFunc("/provisions/", Provisions)
2. Ekstrak Parameter:
Dalam fungsi pengendali, pisahkan laluan URL permintaan untuk mengekstrak parameter laluan. Sebagai contoh, untuk mendapatkan semula parameter id dalam laluan /provisions/:id:
id := strings.TrimPrefix(req.URL.Path, "/provisions/")
Anda juga boleh menggunakan rentetan.Ungkapan pisah atau biasa untuk struktur laluan yang lebih kompleks.
Coretan kod yang disediakan menggambarkan cara melaksanakan langkah-langkah ini:
func main() { http.HandleFunc("/provisions/", Provisions) http.ListenAndServe(":8080", nil) } func Provisions(w http.ResponseWriter, r *http.Request) { // Retrieve "id" parameter id := strings.TrimPrefix(req.URL.Path, "/provisions/") // Handle the request using the extracted path parameter }
Menggunakan pendekatan ini membolehkan kawalan penuh ke atas pemetaan laluan dan pengambilan parameter tanpa memperkenalkan kebergantungan luaran.
Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak Parameter Laluan daripada Permintaan HTTP dalam Go Without Frameworks?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!