Skip to content

Latest commit

 

History

History
69 lines (49 loc) · 1.85 KB

README.md

File metadata and controls

69 lines (49 loc) · 1.85 KB

Autobindings

Join the chat at https://gitter.im/rainingclouds/autobindings

Autobindings is a simple extention to the amazing library Binding. So binding is a reflectionless data binding for Go's net/http. For that developer has to write a FieldMap function which is used by this library to map the incoming JSON from the request to the struct fields.

What autobinding does ?

So it automatically creates FieldMap function for your struct.

How to use ?

Just add this line to all of your files which has struct and for which you want to create a FieldMap function

//go:generate autobindings -file <file_name>

Or

From command line just run

autobindings -file <file_name>

Or

If you don't want to create the automatic files, then use -print flag to just print the function associated with your struct on the console

autobindings -file <file_name> -print

Example

$ ./generator -file testfile.go -print
package main

/*
This is an autogenerated file by autobindings
*/

import (
  "github.com/mholt/binding"
)

func (i Item) FieldMap() binding.FieldMap {
  return binding.FieldMap{
    &i.A: "A",
    &i.B: "B",
  }
}

How to install ?

go install github.com/rainingclouds/autobindings

How does it happens ?

Using the power of go generate :) It creates <struct_name>_bindings.go for every struct in the given file. This file contains FieldMap function for that struct. This function is used by Binding library to perform the mapping.

Okay so what is missing ?

  • It doesn't support Embedded fields yet.

Happy to help

akshay@rainingclouds.com @akshay_deo