Menentukan Kebolehgunaan Badan Permintaan dalam Pengendali Perisian Tengah HTTP
Dalam senario ini, isu timbul apabila cuba menggunakan semula kaedah dalam yang lain dalam Go -chi penghala HTTP. Pengendali luar, Registration(), membaca badan permintaan menggunakan ioutil.ReadAll(r.Body), tidak meninggalkan data yang tersedia untuk pengendali dalam, Create(), untuk menghuraikan JSON daripada.
Penyelesaian : Memulihkan Badan Permintaan
Untuk menyelesaikan isu ini, laksanakan perkara berikut betulkan:
func Registration(w http.ResponseWriter, r *http.Request) { b, err := io.ReadAll(r.Body) // ...other code r.Body = io.NopCloser(bytes.NewReader(b)) user.Create(w, r) }
Begini cara kod ini menangani masalah:
Dengan cara ini, pengendali dalaman boleh mengakses data JSON daripada badan permintaan tanpa menghadapi ralat "penghujung input JSON yang tidak dijangka".
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Semula Badan Permintaan dalam Pengendali Perisian Tengah HTTP Go-chi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!