Я создаю собственный веб-обработчик для обработки моих маршрутов в веб-приложении.
Обработчик:
type CustomHandler struct{
Db *gorm.DB
}
Затем функция получателя:
func (h CustomHandler) Index() http.Handler {
return http.handlerFunc(w http.ResponseWriter,r *http.Request){
//Some code
//use h.Db.Find() ,etc.
})
Я передаю это на мой маршрутизатор как
//In package
customHandler := &CustomHandler{*gormInstance} //I've already got the instance
router.Handle("/someroute", customHandler.index() )
Но проблема с этим связана с экземпляром gorm.DB, так как указатель будет видоизменяться после прохождения маршрута во время одного запроса.Нужно ли создавать разные копии исходного экземпляра gorm?Если это так, как я могу пройти их через каждый маршрут для каждого запроса?