Binding

Binding中间件提供了自动提取请求参数到结构体的映射和要求检查。他是一个 Tango 的中间件。

安装

  1. go get github.com/tango-contrib/binding

示例

  1. import (
  2. "github.com/lunny/tango"
  3. "github.com/tango-contrib/binding"
  4. )
  5. type Action struct {
  6. binding.Binder
  7. }
  8. type MyStruct struct {
  9. Id int64
  10. Name string
  11. }
  12. func (a *Action) Get() string {
  13. var mystruct MyStruct
  14. errs := a.Bind(&mystruct)
  15. return fmt.Sprintf("%v, %v", mystruct, errs)
  16. }
  17. func main() {
  18. t := tango.Classic()
  19. t.Use(binding.Bind())
  20. t.Get("/", new(Action))
  21. t.Run()
  22. }

访问 /?id=1&name=2 你将会查看到输入如下:

  1. {1 sss}, []