Fiber v2 (https://go Fiber.io/) akan menambah laluan HEAD secara automatik untuk setiap laluan GET. Adakah mungkin untuk mengelakkan ini?
Saya baru nak daftar GET. Sebenarnya, saya hanya mahu mendaftarkan laluan yang saya tambahkan secara eksplisit.
Adakah mungkin untuk melakukan ini?
Lihat (*aplikasi).dapatkan:
// get registers a route for get methods that requests a representation // of the specified resource. requests using get should only retrieve data. func (app *app) get(path string, handlers ...handler) router { return app.head(path, handlers...).add(methodget, path, handlers...) }
dan (*kumpulan).dapatkan:
// get registers a route for get methods that requests a representation // of the specified resource. requests using get should only retrieve data. func (grp *group) get(path string, handlers ...handler) router { grp.add(methodhead, path, handlers...) return grp.add(methodget, path, handlers...) }
Tiada cara untuk menghentikan tingkah laku ini. Apa yang anda boleh lakukan ialah mengelak daripada menggunakannya dan gunakan laluan add
方法。例如,注册一个 get
secara terus, seperti ini:
app.add(fiber.methodget, "/", func(c *fiber.ctx) error { return c.sendstring("hello, world!") })
Sila ambil perhatian bahawa (*app).use a> dan (*kumpulan).use sepadan dengan semua kata kerja http. Anda boleh memadam head
seperti ini:
methods := make([]string, 0, len(fiber.defaultmethods)-1) for _, m := range fiber.defaultmethods { if m != fiber.methodhead { methods = append(methods, m) } } app := fiber.new(fiber.config{ requestmethods: methods, })
NOTA: Setiap kali laluan head
路由,它就会出现恐慌,因为它不包含在 requestmethods
didaftarkan, ia akan panik kerana ia tidak termasuk dalam
Saya tidak tahu mengapa anda melakukan ini. Mungkin pilihan yang lebih baik ialah menggunakan perisian tengah untuk menafikan semua head
permintaan seperti ini:
app.Use(func(c *fiber.Ctx) error { if c.Method() == fiber.MethodHead { c.Status(fiber.StatusMethodNotAllowed) return nil } return c.Next() })
Atas ialah kandungan terperinci Bagaimana untuk menghalang Fiber daripada mendaftarkan laluan HEAD secara automatik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!