Send json data to golang fiber, try to bind data received from fiber to struct but it fails,
type MapTag struct {
Id uint `json:"id" form:"tag_name" xorm:"bigint unsigned pk autoincr"`
TagName string `json:"tag_name" form:"tag_name" xorm:"index"`
CreatedAt time.Time `json:"created_at" form:"created_at" xorm:"timestamp created"`
UpdatedAt time.Time `json:"updated_at" form:"updated_at" xorm:"timestamp updated"`
}
type _inData struct {
Title string `json:"title" form:"title"`
TagList []model.MapTag `json:"tag_list" form:"tag_list"`
}
inData := new(_inData)
c.BodyParser(inData)
fmt.Print(inData)
result is &{title.value []}
,
Why can't bind to TagList??
i sened, json like that
{"title" : "title.value", "tag_list":[{"id":"1", "tag_name" :"test"},{"id":"2","tag_name":"test2"}]}
I'm wasting a lot of time, please help
Again, I wrote the code as below,
fmt.Println(string(c.Body()))
type _inData struct {
Title string
TagList []model.MapTag `form:"tag_list"`
}
inData := &_inData{}
if err := c.BodyParser(inData); err != nil {
return err
}
fmt.Println(inData)
I get the result as below, still not binding to tagList
{"title":"123123","tag_list":[{"id":42,"tag_name":"234234"},
{"id":43,"tag_name":"345345"}]}
&{123123 []}
I am sending data from flutter to golang fiber as below, Could it be of any help in resolving the question?
var response = await dio.post(
Uri.parse(System.baseV1 + "/v1/map/create").toString(),
data: {
"title": mapTitle,
"tag_list": tagList.toList(),
// "file": await MultipartFile.fromFile(mainImage!.path),
},
options: Options(
headers: {
"Authorization": "Barer " + storage.getString('token').toString(),
"Content-Type": "application/json"
},
),
);