For some reason it's impossible to use binding:"required" for query params
type LimitOffset struct {
Offset int `form:"offset" binding:"required"`
Limit int `form:"limit" binding:"required"`
}
func CategoryBooks(conn *mgo.Collection, c *gin.Context) {
var query_params LimitOffset
if err := c.BindQuery(&query_params); err != nil {
badRequestResponse(c, err)
return
}
...
}
response:
{"description":"Key: 'LimitOffset.Offset' Error:Field validation for 'Offset' failed on the 'required' tag","status":"error"}
url with query params:
http://localhost:8000/categories/Python?offset=0&limit=2
I try it.I'm fine.
@mdnight Can you provide mini codes to help reproduce this issue?
@mdnight I use the follow code it's ok.
package main
import (
"fmt"
"github.com/gin-gonic/gin"
)
type LimitOffset struct {
Offset int `form:"offset" binding:"required"`
Limit int `form:"limit" binding:"required"`
}
func main() {
r := gin.Default()
r.GET("/t", func(c *gin.Context) {
var query_params LimitOffset
if err := c.BindQuery(&query_params); err != nil {
fmt.Println(err)
return
}
fmt.Println("ok")
})
r.Run()
}
Most helpful comment
@mdnight I use the follow code it's ok.