【发布时间】:2015-06-07 09:19:22
【问题描述】:
使用 gin 框架,我试图确定 POST 数据是否与结构字段类型不匹配,并通知 API 用户他们的错误。
type CreateApp struct {
LearnMoreImage string `db:"learn_more_image" json:"learn_more_image,omitempty" valid:"string,omitempty"`
ApiVersion int64 `db:"api_version" json:"api_version" valid:"int,omitempty"`
}
...
func CreateApps(c *gin.Context) {
var json models.CreateApp
c.Bind(&json)
所以当我发帖时
curl -H "Content-Type: application/json" -d '{"learn_more_image":"someimage.jpg","api_version":"somestring"}' "http://127.0.0.1:8080/v1.0/apps"
我想确定字段“api_version”的 POST 数据(作为字符串传递)是否与它绑定到的结构字段 (int) 不匹配。如果数据不匹配,我想向用户发送一条消息。正是出于这个原因,我希望我可以遍历 gin 上下文数据并进行检查。
gin 函数 'c.Bind()' 似乎忽略了无效数据和所有后续数据字段。
【问题讨论】: