-
Notifications
You must be signed in to change notification settings - Fork 195
Open
Description
Gin just added a new interface called BindUnmarshaler that allows types to define a UnmarshalParam method which lets them be used as query parameters.
Implementing this would allow binding KSUID API query params like this:
type queryParams struct {
ID KSUID `form:"id"`
}
route.GET("/test", func(ctx *gin.Context) {
var params queryParams{}
_ = ctx.BindQuery(¶ms)
entity, err := GetEntity(params.ID)
...
})
I think all that is necessary is adding this method:
func (i *KSUID) UnmarshalParam(s string) error {
return i.UnmarshalText([]byte(s))
}
I'm happy to open a PR for it if that would be helpful.
Metadata
Metadata
Assignees
Labels
No labels