func (u *UserApi) Login(c *gin.Context){
xxxx
}
接口 body 里有三个参数,如果传入 3 个三个参数会报错,并且有一个参数字符长度超过 23 也会报错
长度超过 23 报错的打印的 c 的内容如下:
"json: unsupported type: func() (io.ReadCloser, error)"
1
stevenshuang 2023-02-01 18:55:12 +08:00 via iPhone
这个得看你的 body 是什么样子了,看报错,里面出现了不支持序列化的类型。你可能需要对这个类型自己实现 Json 的接口。
|
2
arvin01 2023-02-01 19:34:48 +08:00
什么信息都没给出,不好分析。
看到涉及 json ,建议把 json 相关的类,body 数据示例,调用的哪个解析函数列一下,或者直接帖完整的代码(移除敏感的部分) |
3
GeruzoniAnsasu 2023-02-01 20:22:16 +08:00
gin 使用 Context.ShouldBindJson/BindJson 这样的函数自动反序列化请求中的 json 参数。你可以查看被 bound to 的对象的结构,里面的 struct tag 会指示如何从 json 反序列化
|
4
fields OP @stevenshuang 就是一个 json 类型 三个参数的值都是字符串类型 {“a”:“a”,“b”:“b”,“c”:“c”} 类似这样
|