Я пытаюсь вернуть функцию-обработчик из контроллера
В моем controllers/item.go
файле:
package controllers
import (
// ...
)
type Controller struct{}
func (c Controller) GetItems(db *sql.DB) http.Handler {
return http.Handler(func(w http.ResponseWriter, r *http.Request) {
// ...
})
}
В моем main.go
файле:
func main() {
db = db.Connect()
router := mux.NewRouter()
controllers := controllers.Controller{}
router.HandleFunc("/items", controllers.GetItems(db)).Methods("GET")
}
Вы можете видеть, что я использую mux
.Моя проблема в том, что я не смог вернуть функцию-обработчик.Я получаю эту ошибку:
cannot convert func literal (type func(http.ResponseWriter, *http.Request)) to type http.Handler:
func(http.ResponseWriter, *http.Request) does not implement http.Handler (missing ServeHTTP method)