package main import ( "net/http" "github.com/gorilla/mux" ) type route struct { Name string Adres string HandlerFunction http.HandlerFunc } type routes []route var registredRoutes = routes{ route{"Index", "/", index}, route{"GetAll", "/getfromdb/{tableName}", getAll}, route{"GetOne", "/getfromdb/{primaryKey}", getIndex}, route{"UpdateRecord", "/updaterec/{tableName}/pk/{primaryKey}/pkn/{primaryKeyName}/ftu/{fieldToUpdate}/vti/{valueToInsert}", update}, route{"InsertRecord", "/insertrec/{tableName}/nr/{count}/pk/{primaryKey}/{val1}/{val2}/{val3}/{val4}/{val5}/{val6}/{val7}", insert}, } func newRouter() *mux.Router { router := mux.NewRouter().StrictSlash(true) for _, r := range registredRoutes { router. Path(r.Adres). Name(r.Name). Handler(r.HandlerFunction) } return router }