说明
因为是集成的,所以想要更知道更详细的请参考官方文档。以下为简单介绍
- GET请求
POST请求(表单)
func IndexHandler(ctx *gin.Context) {
id := ctx.PostForm("id")
}
以上是gin官方支持的常规获取参数的方法。对于一般的少数参数来说,上面的方法已足够。但对于参数超过三个的接口,推荐使用ShouldBind()
来解析成一个结构体,代码简洁且易于扩展
- ShouldBind
参数校验器
// 如果是表单提交,使用form,否则获取不到数据
Pass string `json:"pass" binding:"required,min=6,max=10" comment:"密码"` // 参数必填,同时要求密码长度为6~10位
}
var request AuthRequest
if err := ctx.ShouldBind(&request); err != nil {
response.WrapContext(ctx).Error(1001, "参数错误:" + err.Error())
return
如果请求参数里的pass为空,则响应内容为:
建议大家在struct里定义校验规则,这样可以在主业务里避免繁杂的参数判断,提高代码的整洁度,也更容易扩展。