gpt4 book ai didi

json - 戈朗 : Router config in json file

转载 作者:IT王子 更新时间:2023-10-29 02:26:29 24 4
gpt4 key购买 nike

我想将我的路由器配置放在一个外部 json 配置文件中,如下所示:

{
"routes": [
{
"name": "Index",
"method": "GET",
"pattern": "/",
"handler": "Index"
},
{
"name": "CountsIndex",
"method": "GET",
"pattern": "/counts",
"handler": "CountsIndex"
}
]
}

我的相关结构如下所示:

type Route struct {
Name string `json:"name"`
Method string `json:"method"`
Pattern string `json:"pattern"`
HandlerFunc http.HandlerFunc `json:"handler"`
}

type Routes []Route

问题是 handlerFunc。当我得到配置时,它将是一个字符串,但如何使它成为一个 go 值?我可以用某种方式施放它吗?

出现以下错误:

json: cannot unmarshal string into Go value of type http.HandlerFunc

谢谢

最佳答案

最简单的解决方案是使用字符串而不是 http.HandlerFunc 作为类型,并定义一个包含函数的映射。

var functions = map[string]interface{}{
"func1": func1,
}

然后在解码你的 json 之后,你可以使用每个路由的处理程序名称分配处理程序

关于json - 戈朗 : Router config in json file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38321621/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com