自动解析请求参数
// Get请求参数的获取,和参数名无关
//只与处理器的如参顺序和类型有关
// GET http://localhost:8080/get?age=20&name=saber
a.Get("/get", func(age int, name string) {
fmt.Printf("age: %d, name: %s", age, name)
})
http://localhost:8080/get?age=20&name=saber
map
解析
通过map可以 k/v 形式的参数,使用map解析请求需要注意的一点,如上述的参数类型存在多种则只能通过 map[string]interface{}
或者 map[string]string
这样的形式来处理否则参数解析将失败。
// GET http://localhost:8080/get?age=20&name=saber
a.Get("/get", func(data map[string]string) {
fmt.Println(data)
})
通过结构体解析
Get也可以通过自定义结构体来接收参数,结构体的字段必须为可导出,即大写字母开头(结构体方式解析参数需要对应属性完整,否则可能存在初始化失败属性零值的bug)
type Get struct {
Name string
Age int
}
// GET http://localhost:8080/get?age=20&name=saber
a.Get("/get", func(data Get) {
fmt.Println(data)
})
最后编辑: kuteng 文档更新时间: 2022-07-29 09:12 作者:kuteng