+30
cmd/api/api.go
+30
cmd/api/api.go
···
1
+
package api
2
+
3
+
import (
4
+
"database/sql"
5
+
"log/slog"
6
+
"net/http"
7
+
8
+
"github.com/gorilla/mux"
9
+
)
10
+
11
+
type Server struct {
12
+
addr string
13
+
db *sql.DB
14
+
logger *slog.Logger
15
+
}
16
+
17
+
func NewServer(addr string, db *sql.DB, logger *slog.Logger) *Server {
18
+
return &Server{
19
+
addr,
20
+
db,
21
+
logger,
22
+
}
23
+
}
24
+
25
+
func (s *Server) Start() error {
26
+
router := mux.NewRouter()
27
+
28
+
s.logger.Info("app server started")
29
+
return http.ListenAndServe(s.addr, router)
30
+
}
+7
cmd/main.go
+7
cmd/main.go
+5
go.mod
+5
go.mod