说明

    因为是集成的,所以想要更知道更详细的请参考官方文档。以下为简单介绍

    • GET请求
    • POST请求(表单)

      1. func IndexHandler(ctx *gin.Context) {
      2. id := ctx.PostForm("id")
      3. }

    以上是gin官方支持的常规获取参数的方法。对于一般的少数参数来说,上面的方法已足够。但对于参数超过三个的接口,推荐使用ShouldBind()来解析成一个结构体,代码简洁且易于扩展

    • ShouldBind

    参数校验器

    1. // 如果是表单提交,使用form,否则获取不到数据
    2. Pass string `json:"pass" binding:"required,min=6,max=10" comment:"密码"` // 参数必填,同时要求密码长度为6~10位
    3. }
    4. var request AuthRequest
    5. if err := ctx.ShouldBind(&request); err != nil {
    6. response.WrapContext(ctx).Error(1001, "参数错误:" + err.Error())
    7. return

    如果请求参数里的pass为空,则响应内容为:

    建议大家在struct里定义校验规则,这样可以在主业务里避免繁杂的参数判断,提高代码的整洁度,也更容易扩展。