J'ai essayé de configurer un fichier de configuration JSON pour configurer les routes dynamiques pour mon application. L'idée est que je serai en mesure de configurer ma propre structure d'URL en fonction de qui utilise le service. J'ai une structure qui accepte JSON et ça marche bien. J'utilise gorilla mux. Le JSON est fondamentalement identique à la struct et va bien.Config Golson JSON pour les routes
Le problème que j'ai est d'obtenir la section HandleFunc.
Voici le code:
func NewRouter() *mux.Router {
routerInstance := mux.NewRouter().StrictSlash(true)
/*
All routes from the routing table
*/
// r = []CustomRoute with the JSON data
r := loadRoute()
for _, route := range r {
var handler http.Handler
handler = route.HandlerFunc
handler = core.Logger(handler, route.Name)
routerInstance.
Methods(route.Method).
Path(route.Path).
Name(route.Name).
Handler(handler)
}
return routerInstance
}
je reçois toujours l'erreur suivante (comme on pouvait s'y attendre)
ne peut pas utiliser route.HandlerFunc (chaîne de type) comme le type http.Handler dans l'attribution : chaîne ne met pas en oeuvre http.Handler (méthode ServeHTTP manquante)
On m'a dit d'utiliser quelque chose comme:
var functions = map[string]interface{}{
"HandleFunc1": HandleFunc1,
}
Mais je ne sais pas comment faire ce travail
Vous m'avez au-dessus de la ligne merci. Je dois changer ma carte pour: var fonctions = carte [chaîne] http.HandlerFunc –
Je pensais que quelque chose serait éteint. Comme je l'ai dit, le mien était spécifique aux sous-domaines, d'où la carte des gestionnaires. En fait, j'ai modifié la première ligne de la fonction depuis la recherche du sous-domaine jusqu'à l'obtention du chemin, donc mon code ici ne fonctionne probablement pas tel quel: O. Je vais l'éditer pour utiliser handleFuncs – RayfenWindspear