Sredny M Casanova
Sredny M Casanova

Reputation: 5063

assign form values to struct in Golang

I am working on a API-Rest in Golang. I'm using Gorm so I have the structs that represent the database tables. In Create I receive a Form with the values, but right now am having a doubt of how can I assign inmediatly all the values to the structure, because I have a table with 5 hundred fields and I cannot make assignments one by one, I was doint in this way:

json.NewDecoder(req.Body).Decode(&myobject)

But there I had to receive a Json, and the client side is sending me a Form. So, how can I assign that values in a clean and readable way?

Upvotes: 6

Views: 13157

Answers (1)

Adrian
Adrian

Reputation: 46562

There is no built-in way of unmarshalling a multipart/form-data body into a struct. However, Go does automatically parse form data into a map[string][]string in Request.Form, which you could convert to a map[string]string with a simple loop. Then you could transfer that to a struct yourself using reflection, or you could use a library like mapstructure or gorilla/schema.

Upvotes: 10

Related Questions