github.com/gogf/gf@v1.16.9/.example/util/gvalid/gvalid_i18n_http.go (about) 1 package main 2 3 import ( 4 "github.com/gogf/gf/net/ghttp" 5 6 "github.com/gogf/gf/frame/g" 7 "github.com/gogf/gf/i18n/gi18n" 8 ) 9 10 func main() { 11 type User struct { 12 Name string `v:"required#ReuiredUserName"` 13 Type int `v:"required#ReuiredUserType"` 14 Project string `v:"size:10#MustSize"` 15 } 16 s := g.Server() 17 s.Group("/", func(group *ghttp.RouterGroup) { 18 group.Middleware(func(r *ghttp.Request) { 19 lang := r.GetString("lang", "zh-CN") 20 r.SetCtx(gi18n.WithLanguage(r.Context(), lang)) 21 r.Middleware.Next() 22 }) 23 group.GET("/validate", func(r *ghttp.Request) { 24 var ( 25 err error 26 user = User{} 27 ) 28 if err = r.Parse(&user); err != nil { 29 r.Response.WriteExit(err) 30 } 31 r.Response.WriteExit(user) 32 }) 33 }) 34 s.SetPort(8199) 35 }