Fiber v2 (https://go Fiber.io/) ajoutera automatiquement une route HEAD pour chaque route GET. Est-il possible d'empêcher cela ?
Je veux juste m'inscrire au GET. En fait, je souhaite uniquement enregistrer les itinéraires que j'ai ajoutés explicitement.
Est-il possible de faire cela ?
Voir (*app).get:
// 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...) }
et (*group).get :
// 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...) }
Il n'y a aucun moyen d'arrêter ce comportement. Tout ce que vous pouvez faire, c'est éviter de les utiliser et emprunter directement l'itinéraire add
方法。例如,注册一个 get
, comme ceci :
app.add(fiber.methodget, "/", func(c *fiber.ctx) error { return c.sendstring("hello, world!") })
Veuillez noter que (*app).use a> et (*group).use correspondent à tous les verbes http. Vous pouvez supprimer head
comme ceci :
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, })
REMARQUE : Chaque fois qu'un head
路由,它就会出现恐慌,因为它不包含在 requestmethods
itinéraire est enregistré, il panique car il n'est pas inclus dans les requestmethods
.
Je ne sais pas pourquoi tu fais ça. Peut-être qu'une meilleure option serait d'utiliser un middleware pour refuser toutes les head
requêtes comme celle-ci :
app.Use(func(c *fiber.Ctx) error { if c.Method() == fiber.MethodHead { c.Status(fiber.StatusMethodNotAllowed) return nil } return c.Next() })
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!