Heim >Backend-Entwicklung >Golang >Wie kann verhindert werden, dass Fiber automatisch HEAD-Routen registriert?
Fiber v2 (https://go Fiber.io/) fügt automatisch eine HEAD-Route für jede GET-Route hinzu. Kann man das verhindern?
Ich möchte mich nur für GET registrieren. Eigentlich möchte ich nur die Routen registrieren, die ich explizit hinzugefügt habe.
Ist das möglich?
Anzeigen (*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...) }
und (*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...) }
Es gibt keine Möglichkeit, dieses Verhalten zu stoppen. Alles, was Sie tun können, ist, sie zu vermeiden und direkt die add
方法。例如,注册一个 get
-Route zu verwenden, etwa so:
app.add(fiber.methodget, "/", func(c *fiber.ctx) error { return c.sendstring("hello, world!") })
Bitte beachten Sie, dass (*app).use a> und (*group).use mit allen http-Verben übereinstimmen. Sie können head
so löschen:
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, })
HINWEIS: Immer wenn eine head
路由,它就会出现恐慌,因为它不包含在 requestmethods
Route registriert wird, kommt es zu einer Panik, da sie nicht in requestmethods
enthalten ist.
Ich weiß nicht, warum du das tust. Vielleicht wäre es eine bessere Option, eine Middleware zu verwenden, um alle head
Anfragen wie diese abzulehnen:
app.Use(func(c *fiber.Ctx) error { if c.Method() == fiber.MethodHead { c.Status(fiber.StatusMethodNotAllowed) return nil } return c.Next() })
Das obige ist der detaillierte Inhalt vonWie kann verhindert werden, dass Fiber automatisch HEAD-Routen registriert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!