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  }